Tampilkan postingan dengan label Plus42. Tampilkan semua postingan
Tampilkan postingan dengan label Plus42. Tampilkan semua postingan

Swiss Micros DM42, Free42, Plus42: FUNC command

Swiss Micros DM42, Free42, Plus42:   FUNC command


Turning Programs into User Functions


The FUNC command saves the stack contents and treats the program like it is a function.  This allows the program to work with a temporary stack which is "deleted" when the program reaches either END or RTN (and RTNYES, RTNN), while storing the original contents of the X stack in the L (LAST X) stack.  


FUNC requires a two digit argument.  The first digit is the stack levels used in input, while the second digit is the stack levels used in output.


FUNC 11:  Takes the argument from the X stack and returns the answer in X stack, while leaving the rest of the stack intact.

X:  f(x),  Y: y0,  Z: z0,  T:  t0,  Last X:  x0


FUNC 21:  Takes the arguments from the X and Y stacks and returns the answer in the X stack.

X:  f(x,y),  Y:  z0, Z: t0, T: t0, Last X: x0


FUNC22:  Takes the arguments from the X and Y stacks and returns the answers in the X and Y stacks.

X:  x from f(x,y),  Y:  y from f(x,y), Z:  z0,  T:  t0, Last:  x0


Example 1:  f(x,y) = (y + x)/(y - x)


Stack set up:

T = 24

Z = 15

Y = 45

X = 21


PR1:  Program 


00 { 17-Byte Prgm }

01▸LBL "PR1"

02 -

03 ENTER

04 ENTER

05 LASTX

06 +

07 LASTX

08 +

09 X<>Y

10 ÷

11 RTN

12 END


BEFORE PR1:

T=               70.0000

Z=               15.0000

Y=               45.0000

X=               21.0000


AFTER PR1:

T=               15.0000

Z=               15.0000

Y=               15.0000

X=                2.7500


FN1:  Using FUNC21


00 { 20-Byte Prgm }

01▸LBL "FN1"

02 FUNC 21

03 -

04 ENTER

05 ENTER

06 LASTX

07 +

08 LASTX

09 +

10 X<>Y

11 ÷

12 RTN

13 END


BEFORE FN1:

T=               70.0000

Z=               15.0000

Y=               45.0000

X=               21.0000


AFTER FN1: 

T=               70.0000

Z=               70.0000

Y=               15.0000

X=                2.7500



Example 2:  f(x,y) = x * y * √(x^2 + y^2)


Stack set up:

T = 64

Z = 11

Y = 15

X = 25



Note: The →POL command calculates that  x^2 + y^2 on the x stack


PR2:  Program 


00 { 17-Byte Prgm }

01▸LBL "PR2"

02 STO ST Z

03 X<>Y

04 STO× ST Z

05 →POL

06 RCL× ST Z

07 RTN

08 .END.


BEFORE PR2:

T=               64.0000

Z=               11.0000

Y=               15.0000

X=               25.0000


AFTER FN2:

T=               64.0000

Z=              375.0000

Y=                1.0304

X=           10,933.0348


FN2:  Using FUNC21


00 { 20-Byte Prgm }

01▸LBL "FN2"

02 FUNC 21

03 STO ST Z

04 X<>Y

05 STO× ST Z

06 →POL

07 RCL× ST Z

08 RTN

09 END


BEFORE FN2:

T=               64.0000

Z=               11.0000

Y=               15.0000

X=               25.0000


AFTER FN2:

T=               64.0000

Z=               64.0000

Y=               11.0000

X=           10,933.0348



As we can see, the FUNC command is a powerful command that allows programs to act like user functions, and is a great function for the DM42, Free42, and Plus42.  Unfortunately, FUNC is not available on the original HP 42S.


Until next time, happy programming,


Eddie 


All original content copyright, © 2011-2022.  Edward Shore.   Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited.  This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author. 


Swiss Micros DM42: Time Dilation

Swiss Micros DM42:  Time Dilation 



Introduction


The program DILATE calculates the time passage from the traveler's perspective:


t' = t * √(1 - (v/c)^2)


where c = Speed of Light = 299,792,458 m/s


We can also state the equation as:


t' = t * cos(arcsin (v/c)) 


because cos(arcsin(x)) = √(1 - x^2) for |x| ≤ 1



Why cos(arcsin(x)) = √(1 - x^2)?


Let Θ = arcsin x.  Then x = sin Θ.  Assume that -1 ≤ x ≤ 1.


From the trigonometric identity:


cos^2 Θ + sin^2 Θ = 1

(cos Θ)^2 +  (sin Θ)^2 = 1


With sin Θ = x,


(cos Θ)^2 + x^2 = 1

(cos Θ)^2 = 1 -  x^2

cos Θ = √(1 - x^2)

cos(arcsin x) = √(1 - x^2)



Swiss Micros DM42 Program:  DILATE

Also:  Free42, Plus42


00 {52-Byte Prgm}

01  LBL "DILATE"

02  "TIME?"

03  PROMPT

04  "VEL (M/SEC)?"

05  PROMPT

06  299792458

07  ÷

08  ASIN

09  COS

10  ×

11 "T'= "

12  ARCL ST X

13  AVIEW

14  RTN

15  END



Example


A spaceship traveling at a velocity of 186,000,000 m/s (about 416,070,150 mph) for 1 year from our perspective.


XEQ DILATE

TIME?  1

VEL (M/SEC)? 186000000

 

Result:  0.78426 year would have passed on the spaceship, which is about 9 months and almost 13 days


Until next time,


Eddie 


All original content copyright, © 2011-2022.  Edward Shore.   Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited.  This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author. 


HHC 2022 Conference Videos

HHC 2022 Conference Videos


Coming to you from Nashville, Tennessee!


"We're Not Dead Yet"


And if it is any indication, HHC is doing alive and well.


I had the pleasure of attending HHC 2022 in Nashville a week ago.   Most of the talks from HHC 2022 have now been loaded on to hpcalc.org's YouTube channel:


https://www.youtube.com/c/hpcalc/videos



Highlights


*  The ill-fated Texas Instruments TI-88 that was never released in to the public.  How did it fail and what caused Texas Instruments to call off the project after five years?  


*  Updates on the new software for Telsa's automobiles for the Elon Musk fan base. 


*  The HP 10 referred to in Jim Johnson's talk is not the HP 10B or HP 10C, it is the 1978 HP 10 mini-adding machine.   I believe that this is Hewlett Packard's only adding machine type of calculator.


* APF Electronics, Inc manufactured calculators in the 1970s, focusing on four-function and scientific calculators.


*  Bob Prosperi's "When Ordan was New" is about the upcoming Swiss Micros DM32, which is an improved reimplementation of the popular HP 32SII.  


*  The "Everything But The Kitchen Sink" is not about a sink, or a kitchen, but something for the HP 85 and HP 87 computers. 


*  I made a presentation of the advanced functions of the solve feature of the Plus42 app on Day Two.  The Plus42 is by Thomas Okken.  


*  Day One lasted from 8:00 AM to 10:00 PM, and believe it or not, the day goes by fast!   On Day Two we started about 9:30 AM.   Per tradition, Day Two invites attendees to attend an optional Catholic Sunday mass. 


* Door prizes included over 60 calculators and lots of books.  I have a second HP 20S and won a few vintage calculator manuals.  


* Day Two started with an online talk with Klass Kuperus, HP Product Manager of Moravia Consulting.  In the last few years, Hewlett Packard transferred their calculator operation to Moravia Consulting, with the United States market in charge by Royal Consumer.  HP office supply's page:  https://hpofficesupply.com/product-category/calculators/.  Any further updates to the HP Prime's firmware will I get to you as soon I learn of it.  


* The "Actuarial Math" presentation gives a great introduction of calculating the cost of life insurance. 


Videos (as of 9/18/2022) are:


Day One - September 10, 2022


Calculator Patents and How to Find Them - Felix Gross

https://www.youtube.com/watch?v=7ylp17D2tDY


TI-88 Part 1: History of Go/No Go Decision - Gene Wright

https://www.youtube.com/watch?v=wl16wzmn3wA


TI-88 Hardware Tour - Richard Nelson

https://www.youtube.com/watch?v=AuujYrzSyJk


Autonomous Vehicle Status - Telsa's Full Self Driving in 2022 - David Ramsey

https://www.youtube.com/watch?v=4d-ERZgOO5s


What's New on the HCC 2022 USB Drive - Eric Rechlin

https://www.youtube.com/watch?v=FuR3VlWT0-0


If you want a USB Drive, please check on the hpcalc.org's commerce page.  It will be available soon (I don't know the exact date), the drive is sold at cost.  https://commerce.hpcalc.org/


What's New in the PPC Achieve - Jake Schwartz

https://www.youtube.com/watch?v=cWM6ZTan0_o


As of this post, the current version is 2.41, April 1, 2022.  The next update is scheduled later in 2022.   http://www.pahhc.org/ppccdrom.htm


When Ordan was New - Bob Prosperi

https://www.youtube.com/watch?v=kC4qqOmnVUs


TI-88 Part 2:  Features, Comparisons, and Verdict - Gene Wright

https://www.youtube.com/watch?v=xIHaSpvDu0o


Everything But The Kitchen Sink - David Ramsey

https://www.youtube.com/watch?v=tw0oMjgftkY


HP-10 Calculus with Focus on the HP-10 Printer - Jim Johnson

https://www.youtube.com/watch?v=44jsRmrs4_w


Calculator Humor - Gene Wright

https://www.youtube.com/watch?v=FPwUL7kWbHs


APF Calculators - Gene Wright

https://www.youtube.com/watch?v=5IyICERuQWQ



Day Two:  September 11, 2022


Literature Achieve Update - Eric Rechlin

https://www.youtube.com/watch?v=MA9_0q7g96g


Plus42:  Advanced Equation Editor Functions - Edward Shore

https://www.youtube.com/watch?v=8Hk74yB1DhA


Best New Simple PRNGS (pseudo-random number generators) for Calculators: a Pandora's Box - Namir Shammas

https://www.youtube.com/watch?v=NvdBFTZF4SE


Actuarial Math - Adding Morality To The Time Value of Money - Gene Wright

https://www.youtube.com/watch?v=MAmC4An9LrU


Texas Instruments SR-60A Programmable Calculator - David Ramsey

https://www.youtube.com/watch?v=0Mf5rZbrx7k


Namir Shammas - The Best Empirical Multiple Regression Model. 

https://www.youtube.com/watch?v=w_rwLmjFC7E


Disclaimer:  I do not make money from the sales of the HHC USB drives or nor I was paid to advertise.  


Happy calculating,


Eddie 


All original content copyright, © 2011-2022.  Edward Shore.   Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited.  This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author. 


DM42: Recursive Fibonacci by Marko Draisma

DM42:  Recursive Fibonacci by Marko Draisma


The programs on today's entry is provided from Marko Draisma and they are provided with permission and a request.  Gratitude to Marko.


DM42 (and Free42/Plus42) Program: FIBO (Marko Draisma)


This recursive program generates the nth Fibonacci number.  FIBO is a recursive program because it calls itself in the program steps.


LBL "FIBO"

LSTO "N"

X>0?

GTO 00

0

RTN

LBL 00

1

RCL "N"

X>Y?

GTO 01

1

RTN

LBL 01

RCL "N"

1

-

XEQ "FIBO"

LSTO "M"

RCL "N"

2

-

XEQ "FIBO"

RCL "M"

+

END



1st Fibonacci number:  1 FIBO returns 1

2nd Fibonacci number:  2 FIBO returns 1

3rd Fibonacci number:  3 FIBO returns 2

4th Fibonacci number:  4 FIBO returns 3

5th Fibonacci number:  5 FIBO returns 5

6th Fibonacci number:  6 FIBO returns 8

7th Fibonacci number:  7 FIBO returns 13


The LSTO Command


This is the local store command.  Local variables are created only for the purpose of the program and are deleted when the program hits either a return command (RTN) or an end command (END).  


Variables created by the LSTO command are named variables.  We cannot create local variables to numeric registers.   There is no storage arithmetic with LSTO.  


LSTO is available for the Swiss Micros DM42, Free42, and the Plus42.


Execution Time of FIBO


The execution time of FIBO depends on how large the entry n. Calculating the 50th Fibonacci number, 12,586,269,025, takes over 12 minutes. Marko provides a fast tail recursion version, as presented next.  


DM42 (and Free42/Plus42) Program: FIBO2 (Marko Draisma)


00 { 80-Byte Prgm }

01▸LBL "FIBO2"

02 FS? 01

03 GTO 01

04 LSTO "N"

05 1

06 LSTO "B"

07 0

08 LSTO "A"

09 SF 01

10 XEQ "FIBO2"

11 RTN

12▸LBL 01

13 RCL "N"

14 X≠0?

15 GTO 02

16 CF 01

17 RCL "A"

18 RTN

19▸LBL 02

20 RCL "A"

21 ENTER

22 RCL+ "B"

23 LSTO "A"

24 X<>Y

25 LSTO "B"

26 RCL "N"

27 1

28 -

29 LSTO "N"

30 XEQ "FIBO2"

31 END


Getting the 50th Fibonacci number with FIBO2 is snap.   


Thanks once again to Marko Draisma.


See you next time,


Eddie 


All original content copyright, © 2011-2022.  Edward Shore.   Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited.  This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author. 


HP and Swiss Micros 41C and 42S Series: Stack Storage Operations

HP and Swiss Micros 41C and 42S Series: Stack Storage Operations


Introduction  


The HP 41C and HP 42S families, including the Swiss Micros DM41, DM42, Free42, and Plus42, includes the ability to execute storage arithmetic on any of the four* stack levels X, Y, Z, and T.  


The storage arithmetic operator takes whatever value is in the X stack and applies it to any stack level.  If we enter a number before the stack arithmetic operation, the stack lifts first, then executes the stack arithmetic operation.   See the examples section for illustrations.  


*Some calculators allow for a bigger number of stack levels, like 8.  



Examples



Example 1:  


Keystrokes:  3 [ ENTER ] [ ENTER ] 1 [ ENTER ]

Stack:

T:  3

Z:  3

Y:  1

X:  1


Keystrokes:  41:  [ STO ] [ + ] [ . ] (Y)    42:  [ STO ] [ + ] [ . ]  (ST Y)

Stack:

T:  3

Z:  3

Y:  2

X:  1


Keystrokes:  3 

Stack:

T:  3

Z:  2

Y:  1

X:  3_



Keystrokes:   41:  [ STO ] [ + ] [ . ] (Y)    42:  [ STO ] [ + ] [ . ]  (ST Y)

Stack:

T:  3

Z:  2

Y:  4

X:  3



Example 2:  


Keystrokes:  3 [ ENTER ] [ ENTER ] 1 [ ENTER ]

Stack:

T:  3

Z:  3

Y:  1

X:  1


Keystrokes:  41:  [ STO ] [ + ] [ . ] (Z)    42:  [ STO ] [ + ] [ . ]  (ST Z)

Stack:

T:  3

Z:  4

Y:  1

X:  1


Keystrokes:  3 

Stack:

T:  4

Z:  1

Y:  1

X:  3_



Keystrokes:   41:  [ STO ] [ + ] [ . ] (Z)    42:  [ STO ] [ + ] [ . ]  (ST Z)

Stack:

T:  4

Z:  4

Y:  1

X:  3



Note:  Casio fx-991EX Week - September 5, 2022 to September 9, 2022 


Eddie 


All original content copyright, © 2011-2022.  Edward Shore.   Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited.  This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author. 


Plus42: The Solver SEQ Command

Plus42: The Solver SEQ Command


Solver SEQ Function


In the calculator app Plus42, we can evaluate a sequence of calculations to return a result.  The SEQ is also good for the FOR loop because it allows us to initialize several variables.


Syntax:

SEQ( expr1 : expr2 : expr3: ... : expr_n )


I think this is best illustrated by example.


Example 1


Calculate   f(x) = x * p ÷ t^2


where:

p = 0.01 * a^2

a = 36 *t^2 - 280


Equation:

SEQ1:F=SEQ(L(A:36×T^2-280):L(P:.01×G(A)^2))×X÷EXP(T)


The commands listed in the SEQ are:


1.  L(A:36×T^2-280):  Let A = 36 * T^2 - 280.  T is the input variable.  


2.  L(P:.01×G(A)^2)):  Let P = 0.01 * A^2;  the Get command (G) is used to keep A from the variable menu


The answer is stored in P.


Variables in calculation:  F, T, X


X = 2, T = 0.8, solve for F = 593.3698253


X = 0.3, T = 9, solve for F = 2.57253759


T = 11.1, F = 58.68, solve for X = 22.4853545434


Example 2


Calculate p = Π( n / 4, n = 1 to m)


Equation:

SEQ2: P=FOR(SEQ(L(A:1):L(N:1)):G(N)<=IP(M):L(N:G(N)+1):L(A:G(A)×(G(N)÷4)))


The commands listed in the SEQ are:


1.  L(A:1):   Let A = 1


2.  L(N:1):  Let N = 1


In this example, SEQ is in a FOR command and is used to initialize variables.   


Variables in calculation: M, P


M = 3, solve for P = 0.09375


M = 6, solve for P = 0.17578125


M = 18, solve for P = 93166.79943


If you have not checked out the Plus42 app, please check it out.  The Plus42 is an HP-42S Simulator which builds up on the Free42.   However, the Plus42 adds the solver in a style of the HP 17B and 27S, graphing commands, and units.


Thomas Okken's Plus42 page:  https://www.thomasokken.com/plus42/


Note:  Casio fx-991EX Week - September 5, 2022 to September 9, 2022 


All original content copyright, © 2011-2022.  Edward Shore.   Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited.  This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author. 

Plus42: Integration in Solver

Plus42: Integration in Solver


The Plus42 adds an integral function to the solver engine.


Just a Reminder:  Get the Plus42 App


Author:  Thomas Okken


App: 

Android:  $9.99

iOS:  $9.99

PC/MacOS/Linux:  Free

Donations Accepted


Link:  https://thomasokken.com/plus42/


Plus42 ∫ Syntax


∫(EXPR:VAR:LLIM:ULIM[:ACC])


EXPR:  expression to be integrated


VAR:  variable to be integrated


LLIM: lower limit


ULIM:  upper limit


ACC:  accuracy factor, an optional argument.  If ACC is omitted, then Plus42 uses the highest accuracy factor.   


Let's take a look at some of the integrals that can be used.  In this blog, all results are rounded to four decimal places (FIX 4 is the default setting of Plus42)


Example 1:  Basic Integral


I = ∫(x^2 + 1 dx, x = 0, 3)


Solver syntax:

I=∫(X^2+1:X:1:6)


This integral calculates the numerical integral of x^2 + 1 from x = 1 to x = 6.   In calculation mode, pressing ( I ) twice would definitely get the result.  


Result:  I=76.6667


Example 2:  Variable Upper Limit


I = ∫(x^3/3 - 2 dx, x = 0, A),   A is the upper limit


Solver syntax:

I=∫(X^3÷3-2:X:0:A)


Upper limit known, find the integral:

A = 4;  result:  I = 13.3333


Integral known, find the upper limit:

I = 4;  result:  A = 3.3692 (it may take have time depending on the initial guess)


I like how the solver can find both the value of the integrals and solve for the limits of the integral.


Example 3:  Variable in the Integrand


I = ∫((x^2 * (x - B)) / (B^2 + x^2) dx, x = 0, 1),  B is a variable constant


Solver syntax:

I=∫((X^2×(X-B))÷(B^2+X^2):X:0:1)


B = 1; I = -0.0612

B = 3; I = -0.0784  (I set the initial guess of I = 0)


B can be solved for if you have a good guess and you are willing to wait for the solver to work.


I = -0.07; B = 3.6139


Full Precision:  3.613900797617638382718999085866498


Eddie 


All original content copyright, © 2011-2022.  Edward Shore.   Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited.  This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author. 


Plus42: The FOR Function

Plus42:  The FOR Function



About the Plus42 App


Author:  Thomas Okken


App: 

Android:  $9.99

iOS:  $9.99

PC/MacOS/Linux:  Free

Donations Accepted


Link:  https://thomasokken.com/plus42/


Please give Okken some love!   Free42 and Plus42 are both awesome apps and emulators, both emulate the HP 42S engine.  The Plus42 adds the solver of the HP 17B/19B/27S and unit conversions of the HP 48/49/50 family.   The Plus42 can also graph functions.   You can find a lot more information on the link above!


(Disclaimer:  I am not being paid.)


I am now including apps like the Plus42 in my rotation for blogs, please be on the look out for those.  


Today's blog entry will cover one of the additional solver functions for the Plus42:  FOR.


Plus42 FOR Syntax


FOR(INIT:COND:NEXT:EXPR)


INIT:  Initial commands


COND:  condition

If the condition is true:  execute EXPR (there can be more than one EXPR statements), then NEXT

If the condition is false:  the loop ends


NEXT:  next command,  this is where the counter variable is incremented or decremented


EXPR:  the main loop


Examples 


Example 1:  Add from 1 to 4.


HP 39G/Prime Code:

A:=0;

FOR K FROM 1 TO 4 DO  (STEP 1)

A:=A+K;

END;


Plus42 Equation Code:

S=FOR((L(A:0)+L(I:1))×0:G(I)≤4:L(I:G(I)+1):L(A:G(A)+G(I)))


Variables:

S = sum_final answer

A = sum

I = counter variable


Result:  S = 10


S=:   set the result to the variable S, S = A

INIT:  (L(A:0)+L(I:1))×0;  set A = 0 and I = 1

COND:  G(I)≤4;  test if I≤4; if true continue, if false exit the loop

NEXT:  L(I:G(I)+1); this happens at the end of the loop, this is like the general STEP incr/decr command

EXPR: L(A:G(A)+G(I))


The use of the Get function allows the variable to used automatically and not be displayed in the CALC menu.  


Something that threw me off is that the order of NEXT and EXPR, which the EXPR (which I think there could be more than one EXPR statements), I am used to NEXT either at the end of the FOR loop or implied (end of indentation in Python, for example).


Example 2:  Product


Calculate Π(n/4, n=1 to m) = 1/4 * 2/4 * 3/4 * ... * m/4


Plus42 Equation Code:

P=FOR((L(A:1)+L(N:1)+M)×0:G(N)≤IP(M):L(N:G(N)+1):L(A:G(A)×(G(N)÷4)))


Variables:

P = product_final answer

N = counter

M = higher limit


P=:   set the result to the variable P, P = A

INIT:  (L(A:1)+L(N:1)+M)×0; set A = 1, N = 1, ask for M

COND: G(N)≤IP(M); if N ≤ IP(M); if true continue, if false exit the loop

NEXT:  L(N:G(N)+1)

EXPR: L(A:G(A)×(G(N)÷4))


Results:

3 → M; P → 0.0938

6 → M; P → 0.1758

12 → M; P → 28.5507


Example 3:  Recursive


Given an initial condition u_0, calculate the recursion:


u_n = 2 * u_n-1 - 3


for n terms.


Plus42 Equation Code:

S=FOR((U+N+L(I:1))×0:G(I)≤N:L(I:G(I)+1):L(U:2×G(U)-3))


Variables:

S = final answer

U = recursive variable

N = number of terms


S=:  final answer

INIT:  (U+N+L(I:1))×0

COND: G(I)≤N

NEXT:  L(I:G(I)+1)

EXPR:  L(U:2×G(U)-3)


Results, enter U, N first before calculating for S:

2 → U, 3 → N; S → -5

5 → U, 2 → N; S → 11


Enjoy and hope this helps,


Eddie 


All original content copyright, © 2011-2022.  Edward Shore.   Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited.  This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author. 

Backlink 9999 Traffic Super

Order Now...!!!!