# Factorial¶

### Factorial: First Attempt¶

Our function fact1() calculates ($6!$). This is a simple and very inflexible version of a factorial function, as we clearly cannot calculat the factorial of any random value.

Note that our for loop uses a literal list of values (remember, it is literal because the list is defined with items that describe their true value in the definition (e.g. 6 is a literal for the integer 6).

The loop runs through the sequence of numbers, which are ordered in reverse. The loop index variable, factor, will be set to each successive value from the list given in the for loop. So, when the loop first begins factor will be initialized to the value of $6$. Then, the next time through the loop factor will be set to 5, and so forth.

We use fact to store an accumulated multiplicative value. (note: I do not mean factor! These are two different variables with annoyingly similar names). That means fact needs to be initialized outside of the loop to the value of 1, since you will be performing a multiplication on the starting value of that variable. A value of zero would be unhelpful here!

The statement fact = fact * factor builds on the current value of fact by multiplying it with factor. This increases the value stored in fact.

In [3]:
def fact1():
# Accumulator Variable
fact = 1

for factor in [6, 5, 4, 3, 2, 1]:
print("fact = ", fact, " * ", factor, " = ", fact * factor)
fact = fact * factor

print(fact)

In [4]:
fact1()

fact =  1  *  6  =  6
fact =  6  *  5  =  30
fact =  30  *  4  =  120
fact =  120  *  3  =  360
fact =  360  *  2  =  720
fact =  720  *  1  =  720
720


### Factorial: Second Attempt¶

The first time through the loop in this form (with our numbers increasing in order, not decreasing), we should notice:

• fact has a starting value of 1.
• factor is initialized to 2.

We're trying to save one extra iteration of our loop by avoiding the redundant calculation of 1 * 1. It's thoughtful, but it doesn't really save any work.

In [5]:
def fact2():
# Accumulator Variable
fact = 1

for factor in [2, 3, 4, 5, 6]:
print("fact = ", fact, " * ", factor, " = ", fact * factor)
fact = fact * factor

print(fact)

In [6]:
fact2()

fact =  1  *  2  =  2
fact =  2  *  3  =  6
fact =  6  *  4  =  24
fact =  24  *  5  =  120
fact =  120  *  6  =  720
720


### Before We Continue, Let's Talk About range()¶

The range() function is tremendously useful for loops, or if you want to easily create a sequential list of numbers with different characteristics. The funny thing is, this function does not actually make a list you can view or edit or do anything seemingly reasonable with. It is simply an "object" (specifically a "range object") that describes a range.

So, this explicity creates a sequences of numbers using a Python list:

[1,2,3,4,5]

This creates a range object that describes a range between 1 and 5 (exclusive of 6, or an "half-open interval" because that's how range works):

range(0,6)
In [16]:
print(range(6))
print(list(range(6)))
print(list(range(2, 7)))
print(list(range(0, 21, 2)))
print(list(range(1, 21, 2)))
print(list(range(21, 1, -2)))
print(list(range(20, 0, -1)))

range(0, 6)
[0, 1, 2, 3, 4, 5]
[2, 3, 4, 5, 6]
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
[21, 19, 17, 15, 13, 11, 9, 7, 5, 3]
[20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]


### Factorial: Third Attempt¶

Now that we are empowered with range, we can nicely create a function that asks for the number for which we want a factorial result. Notice we are using the third parameter to range(), a -1 "step". This tells range to create a decreasing sequence of numbers. Make sure your start value is larger than stop value in this circumstance!

Notice with what easy Python generates fantastically large integers.

In [17]:
def fact3():
n = eval(input("Please enter a whole number: "))

# Accumulator Variable
fact = 1

for factor in range(n, 1, -1):
print("fact = ", fact, " * ", factor, " = ", fact * factor)
fact = fact * factor

print("The factorial of", n, "is", fact)

In [18]:
fact3()

Please enter a whole number: 6
fact =  1  *  6  =  6
fact =  6  *  5  =  30
fact =  30  *  4  =  120
fact =  120  *  3  =  360
fact =  360  *  2  =  720
The factorial of 6 is 720

In [19]:
fact3()

Please enter a whole number: 20
fact =  1  *  20  =  20
fact =  20  *  19  =  380
fact =  380  *  18  =  6840
fact =  6840  *  17  =  116280
fact =  116280  *  16  =  1860480
fact =  1860480  *  15  =  27907200
fact =  27907200  *  14  =  390700800
fact =  390700800  *  13  =  5079110400
fact =  5079110400  *  12  =  60949324800
fact =  60949324800  *  11  =  670442572800
fact =  670442572800  *  10  =  6704425728000
fact =  6704425728000  *  9  =  60339831552000
fact =  60339831552000  *  8  =  482718652416000
fact =  482718652416000  *  7  =  3379030566912000
fact =  3379030566912000  *  6  =  20274183401472000
fact =  20274183401472000  *  5  =  101370917007360000
fact =  101370917007360000  *  4  =  405483668029440000
fact =  405483668029440000  *  3  =  1216451004088320000
fact =  1216451004088320000  *  2  =  2432902008176640000
The factorial of 20 is 2432902008176640000

In [20]:
fact3()

Please enter a whole number: 200
fact =  1  *  200  =  200
fact =  200  *  199  =  39800
fact =  39800  *  198  =  7880400
fact =  7880400  *  197  =  1552438800
fact =  1552438800  *  196  =  304278004800
fact =  304278004800  *  195  =  59334210936000
fact =  59334210936000  *  194  =  11510836921584000
fact =  11510836921584000  *  193  =  2221591525865712000
fact =  2221591525865712000  *  192  =  426545572966216704000
fact =  426545572966216704000  *  191  =  81470204436547390464000
fact =  81470204436547390464000  *  190  =  15479338842944004188160000
fact =  15479338842944004188160000  *  189  =  2925595041316416791562240000
fact =  2925595041316416791562240000  *  188  =  550011867767486356813701120000
fact =  550011867767486356813701120000  *  187  =  102852219272519948724162109440000
fact =  102852219272519948724162109440000  *  186  =  19130512784688710462694152355840000
fact =  19130512784688710462694152355840000  *  185  =  3539144865167411435598418185830400000
fact =  3539144865167411435598418185830400000  *  184  =  651202655190803704150108946192793600000
fact =  651202655190803704150108946192793600000  *  183  =  119170085899917077859469937153281228800000
fact =  119170085899917077859469937153281228800000  *  182  =  21688955633784908170423528561897183641600000
fact =  21688955633784908170423528561897183641600000  *  181  =  3925700969715068378846658669703390239129600000
fact =  3925700969715068378846658669703390239129600000  *  180  =  706626174548712308192398560546610243043328000000
fact =  706626174548712308192398560546610243043328000000  *  179  =  126486085244219503166439342337843233504755712000000
fact =  126486085244219503166439342337843233504755712000000  *  178  =  22514523173471071563626202936136095563846516736000000
fact =  22514523173471071563626202936136095563846516736000000  *  177  =  3985070601704379666761837919696088914800833462272000000
fact =  3985070601704379666761837919696088914800833462272000000  *  176  =  701372425899970821350083473866511649004946689359872000000
fact =  701372425899970821350083473866511649004946689359872000000  *  175  =  122740174532494893736264607926639538575865670637977600000000
fact =  122740174532494893736264607926639538575865670637977600000000  *  174  =  21356790368654111510110041779235279712200626691008102400000000
fact =  21356790368654111510110041779235279712200626691008102400000000  *  173  =  3694724733777161291249037227807703390210708417544401715200000000
fact =  3694724733777161291249037227807703390210708417544401715200000000  *  172  =  635492654209671742094834403182924983116241847817637095014400000000
fact =  635492654209671742094834403182924983116241847817637095014400000000  *  171  =  108669243869853867898216682944280172112877355976815943247462400000000
fact =  108669243869853867898216682944280172112877355976815943247462400000000  *  170  =  18473771457875157542696836100527629259189150516058710352068608000000000
fact =  18473771457875157542696836100527629259189150516058710352068608000000000  *  169  =  3122067376380901624715765300989169344802966437213922049499594752000000000
fact =  3122067376380901624715765300989169344802966437213922049499594752000000000  *  168  =  524507319231991472952248570566180449926898361451938904315931918336000000000
fact =  524507319231991472952248570566180449926898361451938904315931918336000000000  *  167  =  87592722311742575983025511284552135137792026362473797020760630362112000000000
fact =  87592722311742575983025511284552135137792026362473797020760630362112000000000  *  166  =  14540391903749267613182234873235654432873476376170650305446264640110592000000000
fact =  14540391903749267613182234873235654432873476376170650305446264640110592000000000  *  165  =  2399164664118629156175068754083882981424123602068157300398633665618247680000000000
fact =  2399164664118629156175068754083882981424123602068157300398633665618247680000000000  *  164  =  393463004915455181612711275669756808953556270739177797265375921161392619520000000000
fact =  393463004915455181612711275669756808953556270739177797265375921161392619520000000000  *  163  =  64134469801219194602871937934170359859429672130485980954256275149306996981760000000000
fact =  64134469801219194602871937934170359859429672130485980954256275149306996981760000000000  *  162  =  10389784107797509525665253945335598297227606885138728914589516574187733511045120000000000
fact =  10389784107797509525665253945335598297227606885138728914589516574187733511045120000000000  *  161  =  1672755241355399033632105885199031325853644708507335355248912168444225095278264320000000000
fact =  1672755241355399033632105885199031325853644708507335355248912168444225095278264320000000000  *  160  =  267640838616863845381136941631845012136583153361173656839825946951076015244522291200000000000
fact =  267640838616863845381136941631845012136583153361173656839825946951076015244522291200000000000  *  159  =  42554893340081351415600773719463356929716721384426611437532325565221086423879044300800000000000
fact =  42554893340081351415600773719463356929716721384426611437532325565221086423879044300800000000000  *  158  =  6723673147732853523664922247675210394895241978739404607130107439304931654972888999526400000000000
fact =  6723673147732853523664922247675210394895241978739404607130107439304931654972888999526400000000000  *  157  =  1055616684194058003215392792885008031998552990662086523319426867970874269830743572925644800000000000
fact =  1055616684194058003215392792885008031998552990662086523319426867970874269830743572925644800000000000  *  156  =  164676202734273048501601275690061252991774266543285497637830591403456386093595997376400588800000000000
fact =  164676202734273048501601275690061252991774266543285497637830591403456386093595997376400588800000000000  *  155  =  25524811423812322517748197731959494213725011314209252133863741667535739844507379593342091264000000000000
fact =  25524811423812322517748197731959494213725011314209252133863741667535739844507379593342091264000000000000  *  154  =  3930820959267097667733222450721762108913651742388224828615016216800503936054136457374682054656000000000000
fact =  3930820959267097667733222450721762108913651742388224828615016216800503936054136457374682054656000000000000  *  153  =  601415606767865943163183034960429602663788716585398398778097481170477102216282877978326354362368000000000000
fact =  601415606767865943163183034960429602663788716585398398778097481170477102216282877978326354362368000000000000  *  152  =  91415172228715623360803821313985299604895884920980556614270817137912519536874997452705605863079936000000000000
fact =  91415172228715623360803821313985299604895884920980556614270817137912519536874997452705605863079936000000000000  *  151  =  13803691006536059127481377018411780240339278623068064048754893387824790450068124615358546485325070336000000000000
fact =  13803691006536059127481377018411780240339278623068064048754893387824790450068124615358546485325070336000000000000  *  150  =  2070553650980408869122206552761767036050891793460209607313234008173718567510218692303781972798760550400000000000000
fact =  2070553650980408869122206552761767036050891793460209607313234008173718567510218692303781972798760550400000000000000  *  149  =  308512493996080921499208776361503288371582877225571231489671867217884066559022585153263513947015322009600000000000000
fact =  308512493996080921499208776361503288371582877225571231489671867217884066559022585153263513947015322009600000000000000  *  148  =  45659849111419976381882898901502486678994265829384542260471436348246841850735342602683000064158267657420800000000000000
fact =  45659849111419976381882898901502486678994265829384542260471436348246841850735342602683000064158267657420800000000000000  *  147  =  6711997819378736528136786138520865541812157076919527712289301143192285752058095362594401009431265345640857600000000000000
fact =  6711997819378736528136786138520865541812157076919527712289301143192285752058095362594401009431265345640857600000000000000  *  146  =  979951681629295533107970776224046369104574933230251045994237966906073719800481922938782547376964740463565209600000000000000
fact =  979951681629295533107970776224046369104574933230251045994237966906073719800481922938782547376964740463565209600000000000000  *  145  =  142092993836247852300655762552486723520163365318386401669164505201380689371069878826123469369659887367216955392000000000000000
fact =  142092993836247852300655762552486723520163365318386401669164505201380689371069878826123469369659887367216955392000000000000000  *  144  =  20461391112419690731294429807558088186903524605847641840359688748998819269434062550961779589231023780879241576448000000000000000
fact =  20461391112419690731294429807558088186903524605847641840359688748998819269434062550961779589231023780879241576448000000000000000  *  143  =  2925978929076015774575103462480806610727204018636212783171435491106831155529070944787534481260036400665731545432064000000000000000
fact =  2925978929076015774575103462480806610727204018636212783171435491106831155529070944787534481260036400665731545432064000000000000000  *  142  =  415489007928794239989664691672274538723262970646342215210343839737170024085128074159829896338925168894533879451353088000000000000000
fact =  415489007928794239989664691672274538723262970646342215210343839737170024085128074159829896338925168894533879451353088000000000000000  *  141  =  58583950117959987838542721525790709959980078861134252344658481402940973396003058456536015383788448814129277002640785408000000000000000
fact =  58583950117959987838542721525790709959980078861134252344658481402940973396003058456536015383788448814129277002640785408000000000000000  *  140  =  8201753016514398297395981013610699394397211040558795328252187396411736275440428183915042153730382833978098780369709957120000000000000000
fact =  8201753016514398297395981013610699394397211040558795328252187396411736275440428183915042153730382833978098780369709957120000000000000000  *  139  =  1140043669295501363338041360891887215821212334637672550627054048101231342286219517564190859368523213922955730471389684039680000000000000000
fact =  1140043669295501363338041360891887215821212334637672550627054048101231342286219517564190859368523213922955730471389684039680000000000000000  *  138  =  157326026362779188140649707803080435783327302179998811986533458637969925235498293423858338592856203521367890805051776397475840000000000000000
fact =  157326026362779188140649707803080435783327302179998811986533458637969925235498293423858338592856203521367890805051776397475840000000000000000  *  137  =  21553665611700748775269009969022019702315840398659837242155083833401879757263266199068592387221299882427401040292093366454190080000000000000000
fact =  21553665611700748775269009969022019702315840398659837242155083833401879757263266199068592387221299882427401040292093366454190080000000000000000  *  136  =  2931298523191301833436585355786994679514954294217737864933091401342655646987804203073328564662096784010126541479724697837769850880000000000000000
fact =  2931298523191301833436585355786994679514954294217737864933091401342655646987804203073328564662096784010126541479724697837769850880000000000000000  *  135  =  395725300630825747513939023031244281734518829719394611765967339181258512343353567414899356229383065841367083099762834208098929868800000000000000000
fact =  395725300630825747513939023031244281734518829719394611765967339181258512343353567414899356229383065841367083099762834208098929868800000000000000000  *  134  =  53027190284530650166867829086186733752425523182398877976639623450288640654009378033596513734737330822743189135368219783885256602419200000000000000000
fact =  53027190284530650166867829086186733752425523182398877976639623450288640654009378033596513734737330822743189135368219783885256602419200000000000000000  *  133  =  7052616307842576472193421268462835589072594583259050770893069918888389206983247278468336326720064999424844155003973231256739128121753600000000000000000
fact =  7052616307842576472193421268462835589072594583259050770893069918888389206983247278468336326720064999424844155003973231256739128121753600000000000000000  *  132  =  930945352635220094329531607437094297757582484990194701757885229293267375321788640757820395127048579924079428460524466525889564912071475200000000000000000
fact =  930945352635220094329531607437094297757582484990194701757885229293267375321788640757820395127048579924079428460524466525889564912071475200000000000000000  *  131  =  121953841195213832357168640574259353006243305533715505930282965037418026167154311939274471761643363970054405128328705114891533003481363251200000000000000000
fact =  121953841195213832357168640574259353006243305533715505930282965037418026167154311939274471761643363970054405128328705114891533003481363251200000000000000000  *  130  =  15853999355377798206431923274653715890811629719383015770936785454864343401730060552105681329013637316107072666682731664935899290452577222656000000000000000000
fact =  15853999355377798206431923274653715890811629719383015770936785454864343401730060552105681329013637316107072666682731664935899290452577222656000000000000000000  *  129  =  2045165916843735968629718102430329349914700233800409034450845323677500298823177811221632891442759213777812374002072384776731008468382461722624000000000000000000
fact =  2045165916843735968629718102430329349914700233800409034450845323677500298823177811221632891442759213777812374002072384776731008468382461722624000000000000000000  *  128  =  261781237355998203984603917111082156789081629926452356409708201430720038249366759836369010104673179363559983872265265251421569083952955100495872000000000000000000
fact =  261781237355998203984603917111082156789081629926452356409708201430720038249366759836369010104673179363559983872265265251421569083952955100495872000000000000000000  *  127  =  33246217144211771906044697473107433912213367000659449264032941581701444857669578499218864283293493779172117951777688686930539273662025297762975744000000000000000000
fact =  33246217144211771906044697473107433912213367000659449264032941581701444857669578499218864283293493779172117951777688686930539273662025297762975744000000000000000000  *  126  =  4189023360170683260161631881611536672938884242083090607268150639294382052066366890901576899694980216175686861923988774553247948481415187518134943744000000000000000000
fact =  4189023360170683260161631881611536672938884242083090607268150639294382052066366890901576899694980216175686861923988774553247948481415187518134943744000000000000000000  *  125  =  523627920021335407520203985201442084117360530260386325908518829911797756508295861362697112461872527021960857740498596819155993560176898439766867968000000000000000000000
fact =  523627920021335407520203985201442084117360530260386325908518829911797756508295861362697112461872527021960857740498596819155993560176898439766867968000000000000000000000  *  124  =  64929862082645590532505294164978818430552705752287904412656334909062921807028686808974441945272193350723146359821826005575343201461935406531091628032000000000000000000000
fact =  64929862082645590532505294164978818430552705752287904412656334909062921807028686808974441945272193350723146359821826005575343201461935406531091628032000000000000000000000  *  123  =  7986373036165407635498151182292394666957982807531412242756729193814739382264528477503856359268479782138947002258084598685767213779818055003324270247936000000000000000000000
fact =  7986373036165407635498151182292394666957982807531412242756729193814739382264528477503856359268479782138947002258084598685767213779818055003324270247936000000000000000000000  *  122  =  974337510412179731530774444239672149368873902518832293616320961645398204636272474255470475830754533420951534275486321039663600081137802710405560970248192000000000000000000000
fact =  974337510412179731530774444239672149368873902518832293616320961645398204636272474255470475830754533420951534275486321039663600081137802710405560970248192000000000000000000000  *  121  =  117894838759873747515223707753000330073633742204778707527574836359093182760988969384911927575521298543935135647333844845799295609817674127959072877400031232000000000000000000000
fact =  117894838759873747515223707753000330073633742204778707527574836359093182760988969384911927575521298543935135647333844845799295609817674127959072877400031232000000000000000000000  *  120  =  14147380651184849701826844930360039608836049064573444903308980363091181931318676326189431309062555825272216277680061381495915473178120895355088745288003747840000000000000000000000
fact =  14147380651184849701826844930360039608836049064573444903308980363091181931318676326189431309062555825272216277680061381495915473178120895355088745288003747840000000000000000000000  *  119  =  1683538297490997114517394546712844713451489838684239943493768663207850649826922482816542325778444143207393737043927304398013941308196386547255560689272445992960000000000000000000000
fact =  1683538297490997114517394546712844713451489838684239943493768663207850649826922482816542325778444143207393737043927304398013941308196386547255560689272445992960000000000000000000000  *  118  =  198657519103937659513052556512115676187275800964740313332264702258526376679576852972351994441856408898472460971183421918965645074367173612576156161334148627169280000000000000000000000
fact =  198657519103937659513052556512115676187275800964740313332264702258526376679576852972351994441856408898472460971183421918965645074367173612576156161334148627169280000000000000000000000  *  117  =  23242929735160706163027149111917534113911268712874616659874970164247586071510491797765183349697199841121277933628460364518980473700959312671410270876095389378805760000000000000000000000
fact =  23242929735160706163027149111917534113911268712874616659874970164247586071510491797765183349697199841121277933628460364518980473700959312671410270876095389378805760000000000000000000000  *  116  =  2696179849278641914911149296982433957213707170693455532545496539052719984295217048540761268564875181570068240300901402284201734949311280269883591421627065167941468160000000000000000000000
fact =  2696179849278641914911149296982433957213707170693455532545496539052719984295217048540761268564875181570068240300901402284201734949311280269883591421627065167941468160000000000000000000000  *  115  =  310060682667043820214782169152979905079576324629747386242732101991062798193949960582187545884960645880557847634603661262683199519170797231036613013487112494313268838400000000000000000000000
fact =  310060682667043820214782169152979905079576324629747386242732101991062798193949960582187545884960645880557847634603661262683199519170797231036613013487112494313268838400000000000000000000000  *  114  =  35346917824042995504485167283439709179071701007791202031671459626981158994110295506369380230885513630383594630344817383945884745185470884338173883537530824351712647577600000000000000000000000
fact =  35346917824042995504485167283439709179071701007791202031671459626981158994110295506369380230885513630383594630344817383945884745185470884338173883537530824351712647577600000000000000000000000  *  113  =  3994201714116858492006823903028687137235102213880405829578874937848870966334463392219739966090063040233346193228964364385884976205958209930213648839740983151743529176268800000000000000000000000
fact =  3994201714116858492006823903028687137235102213880405829578874937848870966334463392219739966090063040233346193228964364385884976205958209930213648839740983151743529176268800000000000000000000000  *  112  =  447350591981088151104764277139212959370331447954605452912833993039073548229459899928610876202087060506134773641644008811219117335067319512183928670050990112995275267742105600000000000000000000000
fact =  447350591981088151104764277139212959370331447954605452912833993039073548229459899928610876202087060506134773641644008811219117335067319512183928670050990112995275267742105600000000000000000000000  *  111  =  49655915709900784772628834762452638490106790722961205273324573227337163853470048892075807258431663716180959874222484978045322024192472465852416082375659902542475554719373721600000000000000000000000
fact =  49655915709900784772628834762452638490106790722961205273324573227337163853470048892075807258431663716180959874222484978045322024192472465852416082375659902542475554719373721600000000000000000000000  *  110  =  5462150728089086324989171823869790233911746979525732580065703055007088023881705378128338798427483008779905586164473347584985422661171971243765769061322589279672311019131109376000000000000000000000000
fact =  5462150728089086324989171823869790233911746979525732580065703055007088023881705378128338798427483008779905586164473347584985422661171971243765769061322589279672311019131109376000000000000000000000000  *  109  =  595374429361710409423819728801807135496380420768304851227161632995772594603105886215988929028595647957009708891927594886763411070067744865570468827684162231484281901085290921984000000000000000000000000
fact =  595374429361710409423819728801807135496380420768304851227161632995772594603105886215988929028595647957009708891927594886763411070067744865570468827684162231484281901085290921984000000000000000000000000  *  108  =  64300438371064724217772530710595170633609085442976923932533456363543440217135435711326804335088329979357048560328180247770448395567316445481610633389889521000302445317211419574272000000000000000000000000
fact =  64300438371064724217772530710595170633609085442976923932533456363543440217135435711326804335088329979357048560328180247770448395567316445481610633389889521000302445317211419574272000000000000000000000000  *  107  =  6880146905703925491301660786033683257796172142398530860781079830899148103233491621111968063854451307791204195955115286511437978325702859666532337772718178747032361648941621894447104000000000000000000000000
fact =  6880146905703925491301660786033683257796172142398530860781079830899148103233491621111968063854451307791204195955115286511437978325702859666532337772718178747032361648941621894447104000000000000000000000000  *  106  =  729295572004616102077976043319570425326394247094244271242794462075309698942750111837868614768571838625867644771242220370212425702524503124652427803908126947185430334787811920811393024000000000000000000000000
fact =  729295572004616102077976043319570425326394247094244271242794462075309698942750111837868614768571838625867644771242220370212425702524503124652427803908126947185430334787811920811393024000000000000000000000000  *  105  =  76576035060484690718187484548554894659271395944895648480493418517907518388988761742976204550700043055716102700980433138872304698765072828088504919410353329454470185152720251685196267520000000000000000000000000
fact =  76576035060484690718187484548554894659271395944895648480493418517907518388988761742976204550700043055716102700980433138872304698765072828088504919410353329454470185152720251685196267520000000000000000000000000  *  104  =  7963907646290407834691498393049709044564225178269147441971315525862381912454831221269525273272804477794474680901965046442719688671567574121204511618676746263264899255882906175260411822080000000000000000000000000
fact =  7963907646290407834691498393049709044564225178269147441971315525862381912454831221269525273272804477794474680901965046442719688671567574121204511618676746263264899255882906175260411822080000000000000000000000000  *  103  =  820282487567912006973224334484120031590115193361722186523045499163825336982847615790761103147098861212830892132902399783600127933171460134484064696723704865116284623355939336051822417674240000000000000000000000000
fact =  820282487567912006973224334484120031590115193361722186523045499163825336982847615790761103147098861212830892132902399783600127933171460134484064696723704865116284623355939336051822417674240000000000000000000000000  *  102  =  83668813731927024711268882117380243222191749722895663025350640914710184372250456810657632521004083843708750997556044777927213049183488933717374599065817896241861031582305812277285886602772480000000000000000000000000
fact =  83668813731927024711268882117380243222191749722895663025350640914710184372250456810657632521004083843708750997556044777927213049183488933717374599065817896241861031582305812277285886602772480000000000000000000000000  *  101  =  8450550186924629495838157093855404565441366722012461965560414732385728621597296137876420884621412468214583850753160522570648517967532382305454834505647607520427964189812887040005874546880020480000000000000000000000000
fact =  8450550186924629495838157093855404565441366722012461965560414732385728621597296137876420884621412468214583850753160522570648517967532382305454834505647607520427964189812887040005874546880020480000000000000000000000000  *  100  =  845055018692462949583815709385540456544136672201246196556041473238572862159729613787642088462141246821458385075316052257064851796753238230545483450564760752042796418981288704000587454688002048000000000000000000000000000
fact =  845055018692462949583815709385540456544136672201246196556041473238572862159729613787642088462141246821458385075316052257064851796753238230545483450564760752042796418981288704000587454688002048000000000000000000000000000  *  99  =  83660446850553832008797755229168505197869530547923373459048105850618713353813231764976566757751983435324380122456289173449420327878570584824002861605911314452236845479147581696058158014112202752000000000000000000000000000
fact =  83660446850553832008797755229168505197869530547923373459048105850618713353813231764976566757751983435324380122456289173449420327878570584824002861605911314452236845479147581696058158014112202752000000000000000000000000000  *  98  =  8198723791354275536862180012458513509391213993696490598986714373360633908673696712967703542259694376661789252000716338998043192132099917312752280437379308816319210856956463006213699485382995869696000000000000000000000000000
fact =  8198723791354275536862180012458513509391213993696490598986714373360633908673696712967703542259694376661789252000716338998043192132099917312752280437379308816319210856956463006213699485382995869696000000000000000000000000000  *  97  =  795276207761364727075631461208475810410947757388559588101711294215981489141348581157867243599190354536193557444069484882810189636813691979336971202425792955182963453124776911602728850082150599360512000000000000000000000000000
fact =  795276207761364727075631461208475810410947757388559588101711294215981489141348581157867243599190354536193557444069484882810189636813691979336971202425792955182963453124776911602728850082150599360512000000000000000000000000000  *  96  =  76346515945091013799260620276013677799450984709301720457764284244734222957569463791155255385522274035474581514630670548749778205134114430016349235432876123697564491499978583513861969607886457538609152000000000000000000000000000
fact =  76346515945091013799260620276013677799450984709301720457764284244734222957569463791155255385522274035474581514630670548749778205134114430016349235432876123697564491499978583513861969607886457538609152000000000000000000000000000  *  95  =  7252919014783646310929758926221299390947843547383663443487607003249751180969099060159749261624616033370085243889913702131228929487740870851553177366123231751268626692497965433816887112749213466167869440000000000000000000000000000
fact =  7252919014783646310929758926221299390947843547383663443487607003249751180969099060159749261624616033370085243889913702131228929487740870851553177366123231751268626692497965433816887112749213466167869440000000000000000000000000000  *  94  =  681774387389662753227397339064802142749097293454064363687835058305476611011095311655016430592713907136788012925651888000335519371847641860045998672415583784619250909094808750778787388598426065819779727360000000000000000000000000000
fact =  681774387389662753227397339064802142749097293454064363687835058305476611011095311655016430592713907136788012925651888000335519371847641860045998672415583784619250909094808750778787388598426065819779727360000000000000000000000000000  *  93  =  63405018027238636050147952533026599275666048291227985822968660422409324824031863983916528045122393363721285202085625584031203301581830692984277876534649291969590334545817213822427227139653624121239514644480000000000000000000000000000
fact =  63405018027238636050147952533026599275666048291227985822968660422409324824031863983916528045122393363721285202085625584031203301581830692984277876534649291969590334545817213822427227139653624121239514644480000000000000000000000000000  *  92  =  5833261658505954516613611633038447133361276442792974695713116758861657883810931486520320580151260189462358238591877553730870703745528423754553564641187734861202310778215183671663304896848133419154035347292160000000000000000000000000000
fact =  5833261658505954516613611633038447133361276442792974695713116758861657883810931486520320580151260189462358238591877553730870703745528423754553564641187734861202310778215183671663304896848133419154035347292160000000000000000000000000000  *  91  =  530826810924041861011838658606498689135876156294160697309893625056410867426794765273349172793764677241074599711860857389509234040843086561664374382348083872369410280817581714121360745613180141143017216603586560000000000000000000000000000
fact =  530826810924041861011838658606498689135876156294160697309893625056410867426794765273349172793764677241074599711860857389509234040843086561664374382348083872369410280817581714121360745613180141143017216603586560000000000000000000000000000  *  90  =  47774412983163767491065479274584882022228854066474462757890426255076978068411528874601425551438820951696713974067477165055831063675877790549793694411327548513246925273582354270922467105186212702871549494322790400000000000000000000000000000
fact =  47774412983163767491065479274584882022228854066474462757890426255076978068411528874601425551438820951696713974067477165055831063675877790549793694411327548513246925273582354270922467105186212702871549494322790400000000000000000000000000000  *  89  =  4251922755501575306704827655438054499978368011916227185452247936701851048088626069839526874078055064701007543692005467689968964667153123358931638802608151817678976349348829530112099572361572930555567904994728345600000000000000000000000000000
fact =  4251922755501575306704827655438054499978368011916227185452247936701851048088626069839526874078055064701007543692005467689968964667153123358931638802608151817678976349348829530112099572361572930555567904994728345600000000000000000000000000000  *  88  =  374169202484138626990024833678548795998096385048627992319797818429762892231799094145878364918868845693688663844896481156717268890709474855585984214629517359955749918742696998649864762367818417888889975639536094412800000000000000000000000000000
fact =  374169202484138626990024833678548795998096385048627992319797818429762892231799094145878364918868845693688663844896481156717268890709474855585984214629517359955749918742696998649864762367818417888889975639536094412800000000000000000000000000000  *  87  =  32552720616120060548132160530033745251834385499230635331822410203389371624166521190691417747941589575350913754505993860634402393491724312435980626672768010316150242930614638882538234326000202356333427880639640213913600000000000000000000000000000
fact =  32552720616120060548132160530033745251834385499230635331822410203389371624166521190691417747941589575350913754505993860634402393491724312435980626672768010316150242930614638882538234326000202356333427880639640213913600000000000000000000000000000  *  86  =  2799533972986325207139365805582902091657757152933834638536727277491485959678320822399461926322976703480178582887515472014558605840288290869494333893858048887188920892032858943898288152036017402644674797735009058396569600000000000000000000000000000
fact =  2799533972986325207139365805582902091657757152933834638536727277491485959678320822399461926322976703480178582887515472014558605840288290869494333893858048887188920892032858943898288152036017402644674797735009058396569600000000000000000000000000000  *  85  =  237960387703837642606846093474546677790909357999375944275621818586776306572657269903954263737453019795815179545438815121237481496424504723907018380977934155411058275822793010231354492923061479224797357807475769963708416000000000000000000000000000000
fact =  237960387703837642606846093474546677790909357999375944275621818586776306572657269903954263737453019795815179545438815121237481496424504723907018380977934155411058275822793010231354492923061479224797357807475769963708416000000000000000000000000000000  *  84  =  19988672567122361978975071851861920934436386071947579319152232761289209752103210671932158153946053662848475081816860470183948445699658396808189544002146469054528895169114612859433777405537164254882978055827964676951506944000000000000000000000000000000
fact =  19988672567122361978975071851861920934436386071947579319152232761289209752103210671932158153946053662848475081816860470183948445699658396808189544002146469054528895169114612859433777405537164254882978055827964676951506944000000000000000000000000000000  *  83  =  1659059823071156044254930963704539437558220043971649083489635319187004409424566485770369126777522454016423431790799419025267720993071646935079732152178156931525898299036512867333003524659584633155287178633721068186975076352000000000000000000000000000000
fact =  1659059823071156044254930963704539437558220043971649083489635319187004409424566485770369126777522454016423431790799419025267720993071646935079732152178156931525898299036512867333003524659584633155287178633721068186975076352000000000000000000000000000000  *  82  =  136042905491834795628904339023772233879774043605675224846150096173334361572814451833170268395756841229346721406845552360071953121431875048676538036478608868385123660520994055121306289022085939918733548647965127591331956260864000000000000000000000000000000
fact =  136042905491834795628904339023772233879774043605675224846150096173334361572814451833170268395756841229346721406845552360071953121431875048676538036478608868385123660520994055121306289022085939918733548647965127591331956260864000000000000000000000000000000  *  81  =  11019475344838618445941251460925550944261697532059693212538157790040083287397970598486791740056304139577084433954489741165828202835981878942799580954767318339195016502200518464825809410788961133417417440485175334897888457129984000000000000000000000000000000
fact =  11019475344838618445941251460925550944261697532059693212538157790040083287397970598486791740056304139577084433954489741165828202835981878942799580954767318339195016502200518464825809410788961133417417440485175334897888457129984000000000000000000000000000000  *  80  =  881558027587089475675300116874044075540935802564775457003052623203206662991837647878943339204504331166166754716359179293266256226878550315423966476381385467135601320176041477186064752863116890673393395238814026791831076570398720000000000000000000000000000000
fact =  881558027587089475675300116874044075540935802564775457003052623203206662991837647878943339204504331166166754716359179293266256226878550315423966476381385467135601320176041477186064752863116890673393395238814026791831076570398720000000000000000000000000000000  *  79  =  69643084179380068578348709233049481967733928402617261103241157233053326376355174182436523797155842162127173622592375164168034241923405474918493351634129451903712504293907276697699115476186234363198078223866308116554655049061498880000000000000000000000000000000
fact =  69643084179380068578348709233049481967733928402617261103241157233053326376355174182436523797155842162127173622592375164168034241923405474918493351634129451903712504293907276697699115476186234363198078223866308116554655049061498880000000000000000000000000000000  *  78  =  5432160565991645349111199320177859593483246415404146366052810264178159457355703586230048856178155688645919542562205262805106670870025627043642481427462097248489575334924767582420531007142526280329450101461572033091263093826796912640000000000000000000000000000000
fact =  5432160565991645349111199320177859593483246415404146366052810264178159457355703586230048856178155688645919542562205262805106670870025627043642481427462097248489575334924767582420531007142526280329450101461572033091263093826796912640000000000000000000000000000000  *  77  =  418276363581356691881562347653695188698209973986119270186066390341718278216389176139713761925717988025735804777289805235993213656991973282360471069914581488133697300789207103846380887549974523585367657812541046548027258224663362273280000000000000000000000000000000
fact =  418276363581356691881562347653695188698209973986119270186066390341718278216389176139713761925717988025735804777289805235993213656991973282360471069914581488133697300789207103846380887549974523585367657812541046548027258224663362273280000000000000000000000000000000  *  76  =  31789003632183108582998738421680834341063958022945064534141045665970589144445577386618245906354567089955921163074025197935484237931389969459395801313508193098160994859979739892324947453798063792487941993753119537650071625074415532769280000000000000000000000000000000
fact =  31789003632183108582998738421680834341063958022945064534141045665970589144445577386618245906354567089955921163074025197935484237931389969459395801313508193098160994859979739892324947453798063792487941993753119537650071625074415532769280000000000000000000000000000000  *  75  =  2384175272413733143724905381626062575579796851720879840060578424947794185833418303996368442976592531746694087230551889845161317844854247709454685098513114482362074614498480491924371059034854784436595649531483965323755371880581164957696000000000000000000000000000000000
fact =  2384175272413733143724905381626062575579796851720879840060578424947794185833418303996368442976592531746694087230551889845161317844854247709454685098513114482362074614498480491924371059034854784436595649531483965323755371880581164957696000000000000000000000000000000000  *  74  =  176428970158616252635642998240328630592904967027345108164482803446136769751672954495731264780267847349255362455060839848541937520519214330499646697289970471694793521472887556402403458368579254048308078065329813433957897519163006206869504000000000000000000000000000000000
fact =  176428970158616252635642998240328630592904967027345108164482803446136769751672954495731264780267847349255362455060839848541937520519214330499646697289970471694793521472887556402403458368579254048308078065329813433957897519163006206869504000000000000000000000000000000000  *  73  =  12879314821578986442401938871543990033282062592996192896007244651567984191872125678188382328959552856495641459219441308943561438997902646126474208902167844433719927067520791617375452460906285545526489698769076380678926518898899453101473792000000000000000000000000000000000
fact =  12879314821578986442401938871543990033282062592996192896007244651567984191872125678188382328959552856495641459219441308943561438997902646126474208902167844433719927067520791617375452460906285545526489698769076380678926518898899453101473792000000000000000000000000000000000  *  72  =  927310667153687023852939598751167282396308506695725888512521614912894861814793048829563527685087805667686185063799774243936423607848990521106143040956084799227834748861496996451032577185252559277907258311373499408882709360720760623306113024000000000000000000000000000000000
fact =  927310667153687023852939598751167282396308506695725888512521614912894861814793048829563527685087805667686185063799774243936423607848990521106143040956084799227834748861496996451032577185252559277907258311373499408882709360720760623306113024000000000000000000000000000000000  *  71  =  65839057367911778693558711511332877050137903975396538084389034658815535188850306466899010465641234202405719139529783971319486076157278326998536155907882020745176267169166286748023312980152931708731415340107518458030672364611174004254734024704000000000000000000000000000000000
fact =  65839057367911778693558711511332877050137903975396538084389034658815535188850306466899010465641234202405719139529783971319486076157278326998536155907882020745176267169166286748023312980152931708731415340107518458030672364611174004254734024704000000000000000000000000000000000  *  70  =  4608734015753824508549109805793301393509653278277757665907232426117087463219521452682930732594886394168400339767084877992364025331009482889897530913551741452162338701841640072361631908610705219611199073807526292062147065522782180297831381729280000000000000000000000000000000000
fact =  4608734015753824508549109805793301393509653278277757665907232426117087463219521452682930732594886394168400339767084877992364025331009482889897530913551741452162338701841640072361631908610705219611199073807526292062147065522782180297831381729280000000000000000000000000000000000  *  69  =  318002647087013891089888576599737796152166076201165278947599037402079034962146980235122220549047161197619623443928856581473117747839654319402929633035070160199201370427073164992952601694138660153172736092719314152288147521071970440550365339320320000000000000000000000000000000000
fact =  318002647087013891089888576599737796152166076201165278947599037402079034962146980235122220549047161197619623443928856581473117747839654319402929633035070160199201370427073164992952601694138660153172736092719314152288147521071970440550365339320320000000000000000000000000000000000  *  68  =  21624180001916944594112423208782170138347293181679238968436734543341374377425994655988310997335206961438134394187162247540172006853096493719399215046384770893545693189040975219520776915201428890415746054304913362355594031432893989957424843073781760000000000000000000000000000000000
fact =  21624180001916944594112423208782170138347293181679238968436734543341374377425994655988310997335206961438134394187162247540172006853096493719399215046384770893545693189040975219520776915201428890415746054304913362355594031432893989957424843073781760000000000000000000000000000000000  *  67  =  1448820060128435287805532354988405399269268643172509010885261214403872083287541641951216836821458866416355004410539870585191524459157465079199747408107779649867561443665745339707892053318495735657854985638429195277824800106003897327147464485943377920000000000000000000000000000000000
fact =  1448820060128435287805532354988405399269268643172509010885261214403872083287541641951216836821458866416355004410539870585191524459157465079199747408107779649867561443665745339707892053318495735657854985638429195277824800106003897327147464485943377920000000000000000000000000000000000  *  66  =  95622123968476728995165135429234756351771730449385594718427240150655557496977748368780311230216285183479430291095631458622640614304392695227183328935113456891259055281939192420720875519020718553418429052136326888336436806996257223591732656072262942720000000000000000000000000000000000
fact =  95622123968476728995165135429234756351771730449385594718427240150655557496977748368780311230216285183479430291095631458622640614304392695227183328935113456891259055281939192420720875519020718553418429052136326888336436806996257223591732656072262942720000000000000000000000000000000000  *  65  =  6215438057950987384685733802900259162865162479210063656697770609792611237303553643970720229964058536926162968921216044810471639929785525189766916380782374697931838593326047507346856908736346705972197888388861247741868392454756719533462622644697091276800000000000000000000000000000000000
fact =  6215438057950987384685733802900259162865162479210063656697770609792611237303553643970720229964058536926162968921216044810471639929785525189766916380782374697931838593326047507346856908736346705972197888388861247741868392454756719533462622644697091276800000000000000000000000000000000000  *  64  =  397788035708863192619886963385616586423370398669444074028657319026727119187427433214126094717699746363274430010957826867870184955506273612145082648370071980667637669972867040470198842159126189182220664856887119855479577117104430050141607849260613841715200000000000000000000000000000000000
fact =  397788035708863192619886963385616586423370398669444074028657319026727119187427433214126094717699746363274430010957826867870184955506273612145082648370071980667637669972867040470198842159126189182220664856887119855479577117104430050141607849260613841715200000000000000000000000000000000000  *  63  =  25060646249658381135052878693293844944672335116174976663805411098683808508807928292489943967215084020886289090690343092675821652196895237565140206847314534782061173208290623549622527056024949918479901885983888550895213358377579093158921294503418672028057600000000000000000000000000000000000
fact =  25060646249658381135052878693293844944672335116174976663805411098683808508807928292489943967215084020886289090690343092675821652196895237565140206847314534782061173208290623549622527056024949918479901885983888550895213358377579093158921294503418672028057600000000000000000000000000000000000  *  62  =  1553760067478819630373278478984218386569684777202848553155935488118396127546091554134376525967335209294949923622801271745900942436207504729038692824533501156487792738914018660076596677473546894945753916931001090155503228219409903775853120259211957665739571200000000000000000000000000000000000
fact =  1553760067478819630373278478984218386569684777202848553155935488118396127546091554134376525967335209294949923622801271745900942436207504729038692824533501156487792738914018660076596677473546894945753916931001090155503228219409903775853120259211957665739571200000000000000000000000000000000000  *  61  =  94779364116207997452769987218037321580750771409373761742512064775222163780311584802196968084007447766991945340990877576499957488608657788471360262296543570545755357073755138264672397325886360591690988932791066499485696921384004130327040335811929417610113843200000000000000000000000000000000000
fact =  94779364116207997452769987218037321580750771409373761742512064775222163780311584802196968084007447766991945340990877576499957488608657788471360262296543570545755357073755138264672397325886360591690988932791066499485696921384004130327040335811929417610113843200000000000000000000000000000000000  *  60  =  5686761846972479847166199233082239294845046284562425704550723886513329826818695088131818085040446866019516720459452654589997449316519467308281615737792614232745321424425308295880343839553181635501459335967463989969141815283040247819622420148715765056606830592000000000000000000000000000000000000
fact =  5686761846972479847166199233082239294845046284562425704550723886513329826818695088131818085040446866019516720459452654589997449316519467308281615737792614232745321424425308295880343839553181635501459335967463989969141815283040247819622420148715765056606830592000000000000000000000000000000000000  *  59  =  335518948971376310982805754751852118395857730789183116568492709304286459782303010199777267017386365095151486507107706620809849509674648571188615328529764239731973964041093189456940286533637716494586100822080375408179367101699374621357722788774230138339803004928000000000000000000000000000000000000
fact =  335518948971376310982805754751852118395857730789183116568492709304286459782303010199777267017386365095151486507107706620809849509674648571188615328529764239731973964041093189456940286533637716494586100822080375408179367101699374621357722788774230138339803004928000000000000000000000000000000000000  *  58  =  19460099040339826037002733775607422866959748385772620760972577139648614667373574591587081487008409175518786217412246984006971271561129617128939689054726325904454489914383404988502536618950987556685993847680661773674403291898563728038747921748905348023708574285824000000000000000000000000000000000000
fact =  19460099040339826037002733775607422866959748385772620760972577139648614667373574591587081487008409175518786217412246984006971271561129617128939689054726325904454489914383404988502536618950987556685993847680661773674403291898563728038747921748905348023708574285824000000000000000000000000000000000000  *  57  =  1109225645299370084109155825209623103416705657989039383375436896959971036040293751720463644759479323004570814392498078088397362478984388176349562276119400576553905925119854084344644587280206290731101649317797721099440987638218132498208631539687604837351388734291968000000000000000000000000000000000000
fact =  1109225645299370084109155825209623103416705657989039383375436896959971036040293751720463644759479323004570814392498078088397362478984388176349562276119400576553905925119854084344644587280206290731101649317797721099440987638218132498208631539687604837351388734291968000000000000000000000000000000000000  *  56  =  62116636136764724710112726211738893791335516847386205469024466229758378018256450096345964106530842088255965605979892372950252298823125737875575487462686432287018731806711828723300096887691552280941692361796672381568695307740215419899683366222505870891677769120350208000000000000000000000000000000000000
fact =  62116636136764724710112726211738893791335516847386205469024466229758378018256450096345964106530842088255965605979892372950252298823125737875575487462686432287018731806711828723300096887691552280941692361796672381568695307740215419899683366222505870891677769120350208000000000000000000000000000000000000  *  55  =  3416414987522059859056199941645639158523453426606241300796345642636710791004104755299028025859196314854078108328894080512263876435271915583156651810447753775786030249369150579781505328823035375451793079898816980986278241925711848094482585142237822899042277301619261440000000000000000000000000000000000000
fact =  3416414987522059859056199941645639158523453426606241300796345642636710791004104755299028025859196314854078108328894080512263876435271915583156651810447753775786030249369150579781505328823035375451793079898816980986278241925711848094482585142237822899042277301619261440000000000000000000000000000000000000  *  54  =  184486409326191232389034796848864514560266485036737030243002664702382382714221656786147513396396601002120217849760280347662249327504683441490459197764178703892445633465934131308201287756443910274396826314536116973259025063988439797102059597680842436548282974287440117760000000000000000000000000000000000000
fact =  184486409326191232389034796848864514560266485036737030243002664702382382714221656786147513396396601002120217849760280347662249327504683441490459197764178703892445633465934131308201287756443910274396826314536116973259025063988439797102059597680842436548282974287440117760000000000000000000000000000000000000  *  53  =  9777779694288135316618844232989819271694123706947062602879141229226266283853747809665818210009019853112371546037294858426099214357748222398994337481501471306299618573694508959334668251091527244543031794670414199582728328391387309246409158677084649137058997637234326241280000000000000000000000000000000000000
fact =  9777779694288135316618844232989819271694123706947062602879141229226266283853747809665818210009019853112371546037294858426099214357748222398994337481501471306299618573694508959334668251091527244543031794670414199582728328391387309246409158677084649137058997637234326241280000000000000000000000000000000000000  *  52  =  508444544102983036464179900115470602128094432761247255349715343919765846760394886102622546920469032361843320393939332638157159146602907564747705549038076507927580165832114465885402749056759416716237653322861538378301873076352140080813276251208401755127067877136184964546560000000000000000000000000000000000000
fact =  508444544102983036464179900115470602128094432761247255349715343919765846760394886102622546920469032361843320393939332638157159146602907564747705549038076507927580165832114465885402749056759416716237653322861538378301873076352140080813276251208401755127067877136184964546560000000000000000000000000000000000000  *  51  =  25930671749252134859673174905889000708532816070823610022835482539908058184780139191233749892943920650454009340090905964546015116476748285802132983000941901904306588457437837760155540201894730252528120319465938457293395526893959144121477088811628489511480461733945433191874560000000000000000000000000000000000000
fact =  25930671749252134859673174905889000708532816070823610022835482539908058184780139191233749892943920650454009340090905964546015116476748285802132983000941901904306588457437837760155540201894730252528120319465938457293395526893959144121477088811628489511480461733945433191874560000000000000000000000000000000000000  *  50  =  1296533587462606742983658745294450035426640803541180501141774126995402909239006959561687494647196032522700467004545298227300755823837414290106649150047095095215329422871891888007777010094736512626406015973296922864669776344697957206073854440581424475574023086697271659593728000000000000000000000000000000000000000
fact =  1296533587462606742983658745294450035426640803541180501141774126995402909239006959561687494647196032522700467004545298227300755823837414290106649150047095095215329422871891888007777010094736512626406015973296922864669776344697957206073854440581424475574023086697271659593728000000000000000000000000000000000000000  *  49  =  63530145785667730406199278519428051735905399373517844555946932222774742552711341018522687237712605593612322883222719613137737035368033300215225808352307659665551141720722702512381073494642089118693894782691549220368819040890199903097618867588489799303127131248166311320092672000000000000000000000000000000000000000
fact =  63530145785667730406199278519428051735905399373517844555946932222774742552711341018522687237712605593612322883222719613137737035368033300215225808352307659665551141720722702512381073494642089118693894782691549220368819040890199903097618867588489799303127131248166311320092672000000000000000000000000000000000000000  *  48  =  3049446997712051059497565368932546483323459169928856538685452746693187642530144368889088987410205068493391498394690541430611377697665598410330838800910767663946454802594689720594291527742820277697306949569194362577703313962729595348685705644247510366550102299911982943364448256000000000000000000000000000000000000000
fact =  3049446997712051059497565368932546483323459169928856538685452746693187642530144368889088987410205068493391498394690541430611377697665598410330838800910767663946454802594689720594291527742820277697306949569194362577703313962729595348685705644247510366550102299911982943364448256000000000000000000000000000000000000000  *  47  =  143324008892466399796385572339829684716202580986656257318216279094579819198916785337787182408279638219189400424550455447238734751790283125285549423642806080205483375721950416867931701803912553051773426629752135041152055756248290981388228165279632987227854808095863198338129068032000000000000000000000000000000000000000
fact =  143324008892466399796385572339829684716202580986656257318216279094579819198916785337787182408279638219189400424550455447238734751790283125285549423642806080205483375721950416867931701803912553051773426629752135041152055756248290981388228165279632987227854808095863198338129068032000000000000000000000000000000000000000  *  46  =  6592904409053454390633736327632165496945318725386187836637948838350671683150172125538210390780863358082712419529320950572981798582353023763135273487569079689452235283209719175924858282979977440381577624968598211892994564787421385143858495602863117412481321172409707123553937129472000000000000000000000000000000000000000
fact =  6592904409053454390633736327632165496945318725386187836637948838350671683150172125538210390780863358082712419529320950572981798582353023763135273487569079689452235283209719175924858282979977440381577624968598211892994564787421385143858495602863117412481321172409707123553937129472000000000000000000000000000000000000000  *  45  =  296680698407405447578518134743447447362539342642378452648707697725780225741757745649219467585138851113722058878819442775784180936205886069341087306940608586025350587744437362916618622734098984817170993123586919535184755415433962331473632302128840283561659452758436820559927170826240000000000000000000000000000000000000000
fact =  296680698407405447578518134743447447362539342642378452648707697725780225741757745649219467585138851113722058878819442775784180936205886069341087306940608586025350587744437362916618622734098984817170993123586919535184755415433962331473632302128840283561659452758436820559927170826240000000000000000000000000000000000000000  *  44  =  13053950729925839693454797928711687683951731076264651916543138699934329932637340808565656573746109449003770590668055482134503961193058987051007841505386777785115425860755243968331219400300355331955523697437824459548129238279094342584839821293668972476713015921371220104636795516354560000000000000000000000000000000000000000
fact =  13053950729925839693454797928711687683951731076264651916543138699934329932637340808565656573746109449003770590668055482134503961193058987051007841505386777785115425860755243968331219400300355331955523697437824459548129238279094342584839821293668972476713015921371220104636795516354560000000000000000000000000000000000000000  *  43  =  561319881386811106818556310934602570409924436279380032411354964097176187103405654768323232671082706307162135398726385731783670331301536443193337184731631444759963312012475490638242434212915279274087518989826451760569557246001056731148112315627765816498659684618962464499382207203246080000000000000000000000000000000000000000
fact =  561319881386811106818556310934602570409924436279380032411354964097176187103405654768323232671082706307162135398726385731783670331301536443193337184731631444759963312012475490638242434212915279274087518989826451760569557246001056731148112315627765816498659684618962464499382207203246080000000000000000000000000000000000000000  *  42  =  23575435018246066486379365059253307957216826323733961361276908492081399858343037500269575772185473664900809686746508200734914153914664530614120161758728520679918459104523970606806182236942441729511675797572710973943921404332044382708220717256366164292943706753996423508974052702536335360000000000000000000000000000000000000000
fact =  23575435018246066486379365059253307957216826323733961361276908492081399858343037500269575772185473664900809686746508200734914153914664530614120161758728520679918459104523970606806182236942441729511675797572710973943921404332044382708220717256366164292943706753996423508974052702536335360000000000000000000000000000000000000000  *  41  =  966592835748088725941553967429385626245889879273092415812353248175337394192064537511052606659604420260933197156606836230131480310501245755178926632107869347876656823285482794879053471714640110909978707700481149931700777577613819691037049407511012736010691976913853363867936160803989749760000000000000000000000000000000000000000
fact =  966592835748088725941553967429385626245889879273092415812353248175337394192064537511052606659604420260933197156606836230131480310501245755178926632107869347876656823285482794879053471714640110909978707700481149931700777577613819691037049407511012736010691976913853363867936160803989749760000000000000000000000000000000000000000  *  40  =  38663713429923549037662158697175425049835595170923696632494129927013495767682581500442104266384176810437327886264273449205259212420049830207157065284314773915066272931419311795162138868585604436399148308019245997268031103104552787641481976300440509440427679076554134554717446432159589990400000000000000000000000000000000000000000
fact =  38663713429923549037662158697175425049835595170923696632494129927013495767682581500442104266384176810437327886264273449205259212420049830207157065284314773915066272931419311795162138868585604436399148308019245997268031103104552787641481976300440509440427679076554134554717446432159589990400000000000000000000000000000000000000000  *  39  =  1507884823767018412468824189189841576943588211666024168667271067153526334939620678517242066388982895607055787564306664519005109284381943378079125546088276182687584644325353160011323415874838573019566784012750593893453213021077558718017797075717179868176679483985611247633980410854224009625600000000000000000000000000000000000000000
fact =  1507884823767018412468824189189841576943588211666024168667271067153526334939620678517242066388982895607055787564306664519005109284381943378079125546088276182687584644325353160011323415874838573019566784012750593893453213021077558718017797075717179868176679483985611247633980410854224009625600000000000000000000000000000000000000000  *  38  =  57299623303146699673815319189213979923856352043308918409356300551834000727705585783655198522781350033068119927443653251722194152806513848367006770751354494942128216484363420080430289803243865774743537792484522567951222094800947231284676288877252834990713820391453227410091255612460512365772800000000000000000000000000000000000000000
fact =  57299623303146699673815319189213979923856352043308918409356300551834000727705585783655198522781350033068119927443653251722194152806513848367006770751354494942128216484363420080430289803243865774743537792484522567951222094800947231284676288877252834990713820391453227410091255612460512365772800000000000000000000000000000000000000000  *  37  =  2120086062216427887931166810000917257182685025602429981146183120417858026925106673995242345342909951223520437315415170313721183653841012389579250517800116312858744009921446542975920722720023033665510898321927335014195217507635047557533022688458354894656411354483769414173376457661038957533593600000000000000000000000000000000000000000
fact =  2120086062216427887931166810000917257182685025602429981146183120417858026925106673995242345342909951223520437315415170313721183653841012389579250517800116312858744009921446542975920722720023033665510898321927335014195217507635047557533022688458354894656411354483769414173376457661038957533593600000000000000000000000000000000000000000  *  36  =  76323098239791403965522005160033021258576660921687479321262592335042888969303840263828724432344758244046735743354946131293962611538276446024853018640804187262914784357172075547133146017920829211958392339589384060511027830274861712071188816784500776207630808761415698910241552475797402471209369600000000000000000000000000000000000000000
fact =  76323098239791403965522005160033021258576660921687479321262592335042888969303840263828724432344758244046735743354946131293962611538276446024853018640804187262914784357172075547133146017920829211958392339589384060511027830274861712071188816784500776207630808761415698910241552475797402471209369600000000000000000000000000000000000000000  *  35  =  2671308438392699138793270180601155744050183132259061776244190731726501113925634409234005355132066538541635751017423114595288691403839675610869855652428146554202017452501022644149660110627229022418543731885628442117885974059620159922491608587457527167267078306649549461858454336652909086492327936000000000000000000000000000000000000000000
fact =  2671308438392699138793270180601155744050183132259061776244190731726501113925634409234005355132066538541635751017423114595288691403839675610869855652428146554202017452501022644149660110627229022418543731885628442117885974059620159922491608587457527167267078306649549461858454336652909086492327936000000000000000000000000000000000000000000  *  34  =  90824486905351770718971186140439295297706226496808100392302484878701037873471569913956182074490262310415615534592385896239815507730548970769575092182556982842868593385034769901088443761325786762230486884111367032008123118027085437364714691973555923687080662426084681703187447446198908940739149824000000000000000000000000000000000000000000
fact =  90824486905351770718971186140439295297706226496808100392302484878701037873471569913956182074490262310415615534592385896239815507730548970769575092182556982842868593385034769901088443761325786762230486884111367032008123118027085437364714691973555923687080662426084681703187447446198908940739149824000000000000000000000000000000000000000000  *  33  =  2997208067876608433726049142634496744824305474394667312945982000997134249824561807160554008458178656243715312641548734575913911755108116035395978042024380433814663581706147406735918644123750963153606067175675112056268062894893819433035584835127345481673661860060794496205185765724563995044391944192000000000000000000000000000000000000000000
fact =  2997208067876608433726049142634496744824305474394667312945982000997134249824561807160554008458178656243715312641548734575913911755108116035395978042024380433814663581706147406735918644123750963153606067175675112056268062894893819433035584835127345481673661860060794496205185765724563995044391944192000000000000000000000000000000000000000000  *  32  =  95910658172051469879233572564303895834377775180629354014271424031908295994385977829137728270661716999798890004529559506429245176163459713132671297344780173882069234614596717015549396611960030820915394149621603585800578012636602221857138714724075055413557179521945423878565944503186047841420542214144000000000000000000000000000000000000000000
fact =  95910658172051469879233572564303895834377775180629354014271424031908295994385977829137728270661716999798890004529559506429245176163459713132671297344780173882069234614596717015549396611960030820915394149621603585800578012636602221857138714724075055413557179521945423878565944503186047841420542214144000000000000000000000000000000000000000000  *  31  =  2973230403333595566256240749493420770865711030599509974442414144989157175825965312703269576390513226993765590140416344699306600461067251107112810217688185390344146273052498227482031294970760955448377218638269711159817918391734668877571300156446326717820272565180308140235544279598767483084036808638464000000000000000000000000000000000000000000
fact =  2973230403333595566256240749493420770865711030599509974442414144989157175825965312703269576390513226993765590140416344699306600461067251107112810217688185390344146273052498227482031294970760955448377218638269711159817918391734668877571300156446326717820272565180308140235544279598767483084036808638464000000000000000000000000000000000000000000  *  30  =  89196912100007866987687222484802623125971330917985299233272424349674715274778959381098087291715396809812967704212490340979198013832017533213384306530645561710324388191574946824460938849122828663451316559148091334794537551752040066327139004693389801534608176955409244207066328387963024492521104259153920000000000000000000000000000000000000000000
fact =  89196912100007866987687222484802623125971330917985299233272424349674715274778959381098087291715396809812967704212490340979198013832017533213384306530645561710324388191574946824460938849122828663451316559148091334794537551752040066327139004693389801534608176955409244207066328387963024492521104259153920000000000000000000000000000000000000000000  *  29  =  2586710450900228142642929452059276070653168596621573677764900306140566742968589822051844531459746507484576063422162219888396742401128508463188144889388721289599407257555673457909367226624562031240088180215294648709041589000809161923487031136108304244503637131706868082004923523250927710283112023515463680000000000000000000000000000000000000000000
fact =  2586710450900228142642929452059276070653168596621573677764900306140566742968589822051844531459746507484576063422162219888396742401128508463188144889388721289599407257555673457909367226624562031240088180215294648709041589000809161923487031136108304244503637131706868082004923523250927710283112023515463680000000000000000000000000000000000000000000  *  28  =  72427892625206387994002024657659729978288720705404062977417208571935868803120515017451646880872902209568129775820542156875108787231598236969268056902884196108783403211558856821462282345487736874722469046028250163853164492022656533857636871811032518846101839687792306296137858651025975887927136658432983040000000000000000000000000000000000000000000
fact =  72427892625206387994002024657659729978288720705404062977417208571935868803120515017451646880872902209568129775820542156875108787231598236969268056902884196108783403211558856821462282345487736874722469046028250163853164492022656533857636871811032518846101839687792306296137858651025975887927136658432983040000000000000000000000000000000000000000000  *  27  =  1955553100880572475838054665756812709413795459045909700390264631442268457684253905471194465783568359658339503947154638235627937255253152398170237536377873294937151886712089134179481623328168895617506664242762754424035441284611726414156195538897878008844749671570392269995722183577701348974032689777690542080000000000000000000000000000000000000000000
fact =  1955553100880572475838054665756812709413795459045909700390264631442268457684253905471194465783568359658339503947154638235627937255253152398170237536377873294937151886712089134179481623328168895617506664242762754424035441284611726414156195538897878008844749671570392269995722183577701348974032689777690542080000000000000000000000000000000000000000000  *  26  =  50844380622894884371789421309677130444758681935193652210146880417498979899790601542251056110372777351116827102626020594126326368636581962352426175945824705668365949054514317488666522206532391286055173270311831615024921473399904886768061084011344828229963491460830199019888776773020235073324849934219954094080000000000000000000000000000000000000000000
fact =  50844380622894884371789421309677130444758681935193652210146880417498979899790601542251056110372777351116827102626020594126326368636581962352426175945824705668365949054514317488666522206532391286055173270311831615024921473399904886768061084011344828229963491460830199019888776773020235073324849934219954094080000000000000000000000000000000000000000000  *  25  =  1271109515572372109294735532741928261118967048379841305253672010437474497494765038556276402759319433777920677565650514853158159215914549058810654398645617641709148726362857937216663055163309782151379331757795790375623036834997622169201527100283620705749087286520754975497219419325505876833121248355498852352000000000000000000000000000000000000000000000
fact =  1271109515572372109294735532741928261118967048379841305253672010437474497494765038556276402759319433777920677565650514853158159215914549058810654398645617641709148726362857937216663055163309782151379331757795790375623036834997622169201527100283620705749087286520754975497219419325505876833121248355498852352000000000000000000000000000000000000000000000  *  24  =  30506628373736930623073652785806278266855209161116191326088128250499387939874360925350633666223666410670096261575612356475795821181949177411455705567494823401019569432708590493199913323919434771633103962187098969014952884039942932060836650406806896937978094876498119411933266063812141043994909960531972456448000000000000000000000000000000000000000000000
fact =  30506628373736930623073652785806278266855209161116191326088128250499387939874360925350633666223666410670096261575612356475795821181949177411455705567494823401019569432708590493199913323919434771633103962187098969014952884039942932060836650406806896937978094876498119411933266063812141043994909960531972456448000000000000000000000000000000000000000000000  *  23  =  701652452595949404330694014073544400137669810705672400500026949761485922617110301283064574323144327445412214016239084198943303887184831080463481228052380938223450096952297581343598006450146999747561391130303276287343916332918687437399242959356558629573496182159456746474465119467679244011882929092235366498304000000000000000000000000000000000000000000000
fact =  701652452595949404330694014073544400137669810705672400500026949761485922617110301283064574323144327445412214016239084198943303887184831080463481228052380938223450096952297581343598006450146999747561391130303276287343916332918687437399242959356558629573496182159456746474465119467679244011882929092235366498304000000000000000000000000000000000000000000000  *  22  =  15436353957110886895275268309617976803028735835524792811000592894752690297576426628227420635109175203799068708357259852376752685518066283770196587017152380640915902132950546789559156141903233994446350604866672078321566159324211123622783345105844289850616916007508048422438232628288943368261424440029178062962688000000000000000000000000000000000000000000000
fact =  15436353957110886895275268309617976803028735835524792811000592894752690297576426628227420635109175203799068708357259852376752685518066283770196587017152380640915902132950546789559156141903233994446350604866672078321566159324211123622783345105844289850616916007508048422438232628288943368261424440029178062962688000000000000000000000000000000000000000000000  *  21  =  324163433099328624800780634501977512863603452546020649031012450789806496249104959192775833337292679279780442875502456899911806395879391959174128327360199993459233944791961482580742278979967913883373362702200113644752889345808433596078450247222730086862955236157669016871202885194067810733489913240612739322216448000000000000000000000000000000000000000000000
fact =  324163433099328624800780634501977512863603452546020649031012450789806496249104959192775833337292679279780442875502456899911806395879391959174128327360199993459233944791961482580742278979967913883373362702200113644752889345808433596078450247222730086862955236157669016871202885194067810733489913240612739322216448000000000000000000000000000000000000000000000  *  20  =  6483268661986572496015612690039550257272069050920412980620249015796129924982099183855516666745853585595608857510049137998236127917587839183482566547203999869184678895839229651614845579599358277667467254044002272895057786916168671921569004944454601737259104723153380337424057703881356214669798264812254786444328960000000000000000000000000000000000000000000000
fact =  6483268661986572496015612690039550257272069050920412980620249015796129924982099183855516666745853585595608857510049137998236127917587839183482566547203999869184678895839229651614845579599358277667467254044002272895057786916168671921569004944454601737259104723153380337424057703881356214669798264812254786444328960000000000000000000000000000000000000000000000  *  19  =  123182104577744877424296641110751454888169311967487846631784731300126468574659884493254816668171218126316568292690933621966486430434168944486168764396875997514508899020945363380682066012387807275681877826836043185006097951407204766509811093944637433007922989739914226411057096373745768078726167031432840942442250240000000000000000000000000000000000000000000000
fact =  123182104577744877424296641110751454888169311967487846631784731300126468574659884493254816668171218126316568292690933621966486430434168944486168764396875997514508899020945363380682066012387807275681877826836043185006097951407204766509811093944637433007922989739914226411057096373745768078726167031432840942442250240000000000000000000000000000000000000000000000  *  18  =  2217277882399407793637339539993526187987047615414781239372125163402276434343877920878586700027081926273698229268436805195396755747815041000751037759143767955261160182377016540852277188222980530962273800883048777330109763125329685797176599691003473794142613815318456075399027734727423825417071006565791136963960504320000000000000000000000000000000000000000000000
fact =  2217277882399407793637339539993526187987047615414781239372125163402276434343877920878586700027081926273698229268436805195396755747815041000751037759143767955261160182377016540852277188222980530962273800883048777330109763125329685797176599691003473794142613815318456075399027734727423825417071006565791136963960504320000000000000000000000000000000000000000000000  *  17  =  37693724000789932491834772179889945195779809462051281069326127777838699383845924654935973900460392746652869897563425688321744847712855697012767641905444055239439723100409281194488712199790669026358654615011829214611865973130604658552002194747059054500424434860413753281783471490366205032090207111618449328387328573440000000000000000000000000000000000000000000000
fact =  37693724000789932491834772179889945195779809462051281069326127777838699383845924654935973900460392746652869897563425688321744847712855697012767641905444055239439723100409281194488712199790669026358654615011829214611865973130604658552002194747059054500424434860413753281783471490366205032090207111618449328387328573440000000000000000000000000000000000000000000000  *  16  =  603099584012638919869356354878239123132476951392820497109218044445419190141534794478975582407366283946445918361014811013147917563405691152204282270487104883831035569606548499111819395196650704421738473840189267433789855570089674536832035115952944872006790957766620052508535543845859280513443313785895189254197257175040000000000000000000000000000000000000000000000
fact =  603099584012638919869356354878239123132476951392820497109218044445419190141534794478975582407366283946445918361014811013147917563405691152204282270487104883831035569606548499111819395196650704421738473840189267433789855570089674536832035115952944872006790957766620052508535543845859280513443313785895189254197257175040000000000000000000000000000000000000000000000  *  15  =  9046493760189583798040345323173586846987154270892307456638270666681287852123021917184633736110494259196688775415222165197218763451085367283064234057306573257465533544098227486677290927949760566326077107602839011506847833551345118052480526739294173080101864366499300787628033157687889207701649706788427838812958857625600000000000000000000000000000000000000000000000
fact =  9046493760189583798040345323173586846987154270892307456638270666681287852123021917184633736110494259196688775415222165197218763451085367283064234057306573257465533544098227486677290927949760566326077107602839011506847833551345118052480526739294173080101864366499300787628033157687889207701649706788427838812958857625600000000000000000000000000000000000000000000000  *  14  =  126650912642654173172564834524430215857820159792492304392935789333538029929722306840584872305546919628753642855813110312761062688315195141962899276802292025604517469617375184813482072991296647928565079506439746161095869669718831652734727374350118423121426101130990211026792464207630448907823095895037989743381424006758400000000000000000000000000000000000000000000000
fact =  126650912642654173172564834524430215857820159792492304392935789333538029929722306840584872305546919628753642855813110312761062688315195141962899276802292025604517469617375184813482072991296647928565079506439746161095869669718831652734727374350118423121426101130990211026792464207630448907823095895037989743381424006758400000000000000000000000000000000000000000000000  *  13  =  1646461864354504251243342848817592806151662077302399957108165261335994389086389988927603339972109955173797357125570434065893814948097536845517690598429796332858727105025877402575266948886856423071346033583716700094246305706344811485551455866551539500578539314702872743348302034699195835801700246635493866663958512087859200000000000000000000000000000000000000000000000
fact =  1646461864354504251243342848817592806151662077302399957108165261335994389086389988927603339972109955173797357125570434065893814948097536845517690598429796332858727105025877402575266948886856423071346033583716700094246305706344811485551455866551539500578539314702872743348302034699195835801700246635493866663958512087859200000000000000000000000000000000000000000000000  *  12  =  19757542372254051014920114185811113673819944927628799485297983136031932669036679867131240079665319462085568285506845208790725779377170442146212287181157555994304725260310528830903203386642277076856152403004600401130955668476137737826617470398618474006942471776434472920179624416390350029620402959625926399967502145054310400000000000000000000000000000000000000000000000
fact =  19757542372254051014920114185811113673819944927628799485297983136031932669036679867131240079665319462085568285506845208790725779377170442146212287181157555994304725260310528830903203386642277076856152403004600401130955668476137737826617470398618474006942471776434472920179624416390350029620402959625926399967502145054310400000000000000000000000000000000000000000000000  *  11  =  217332966094794561164121256043922250412019394203916794338277814496351259359403478538443640876318514082941251140575297296697983573148874863608335158992733115937351977863415817139935237253065047845417676433050604412440512353237515116092792174384803214076367189540779202121975868580293850325824432555885190399642523595597414400000000000000000000000000000000000000000000000
fact =  217332966094794561164121256043922250412019394203916794338277814496351259359403478538443640876318514082941251140575297296697983573148874863608335158992733115937351977863415817139935237253065047845417676433050604412440512353237515116092792174384803214076367189540779202121975868580293850325824432555885190399642523595597414400000000000000000000000000000000000000000000000  *  10  =  2173329660947945611641212560439222504120193942039167943382778144963512593594034785384436408763185140829412511405752972966979835731488748636083351589927331159373519778634158171399352372530650478454176764330506044124405123532375151160927921743848032140763671895407792021219758685802938503258244325558851903996425235955974144000000000000000000000000000000000000000000000000
fact =  2173329660947945611641212560439222504120193942039167943382778144963512593594034785384436408763185140829412511405752972966979835731488748636083351589927331159373519778634158171399352372530650478454176764330506044124405123532375151160927921743848032140763671895407792021219758685802938503258244325558851903996425235955974144000000000000000000000000000000000000000000000000  *  9  =  19559966948531510504770913043953002537081745478352511490445003304671613342346313068459927678868666267464712602651776756702818521583398737724750164309345980434361678007707423542594171352775854306087590878974554397119646111791376360448351295694632289266873047058670128190977828172226446529324198930029667135967827123603767296000000000000000000000000000000000000000000000000
fact =  19559966948531510504770913043953002537081745478352511490445003304671613342346313068459927678868666267464712602651776756702818521583398737724750164309345980434361678007707423542594171352775854306087590878974554397119646111791376360448351295694632289266873047058670128190977828172226446529324198930029667135967827123603767296000000000000000000000000000000000000000000000000  *  8  =  156479735588252084038167304351624020296653963826820091923560026437372906738770504547679421430949330139717700821214214053622548172667189901798001314474767843474893424061659388340753370822206834448700727031796435176957168894331010883586810365557058314134984376469361025527822625377811572234593591440237337087742616988830138368000000000000000000000000000000000000000000000000
fact =  156479735588252084038167304351624020296653963826820091923560026437372906738770504547679421430949330139717700821214214053622548172667189901798001314474767843474893424061659388340753370822206834448700727031796435176957168894331010883586810365557058314134984376469361025527822625377811572234593591440237337087742616988830138368000000000000000000000000000000000000000000000000  *  7  =  1095358149117764588267171130461368142076577746787740643464920185061610347171393531833755950016645310978023905748499498375357837208670329312586009201323374904324253968431615718385273595755447841140905089222575046238700182260317076185107672558899408198944890635285527178694758377644681005642155140081661359614198318921810968576000000000000000000000000000000000000000000000000
fact =  1095358149117764588267171130461368142076577746787740643464920185061610347171393531833755950016645310978023905748499498375357837208670329312586009201323374904324253968431615718385273595755447841140905089222575046238700182260317076185107672558899408198944890635285527178694758377644681005642155140081661359614198318921810968576000000000000000000000000000000000000000000000000  *  6  =  6572148894706587529603026782768208852459466480726443860789521110369662083028361191002535700099871865868143434490996990252147023252021975875516055207940249425945523810589694310311641574532687046845430535335450277432201093561902457110646035353396449193669343811713163072168550265868086033852930840489968157685189913530865811456000000000000000000000000000000000000000000000000
fact =  6572148894706587529603026782768208852459466480726443860789521110369662083028361191002535700099871865868143434490996990252147023252021975875516055207940249425945523810589694310311641574532687046845430535335450277432201093561902457110646035353396449193669343811713163072168550265868086033852930840489968157685189913530865811456000000000000000000000000000000000000000000000000  *  5  =  32860744473532937648015133913841044262297332403632219303947605551848310415141805955012678500499359329340717172454984951260735116260109879377580276039701247129727619052948471551558207872663435234227152676677251387161005467809512285553230176766982245968346719058565815360842751329340430169264654202449840788425949567654329057280000000000000000000000000000000000000000000000000
fact =  32860744473532937648015133913841044262297332403632219303947605551848310415141805955012678500499359329340717172454984951260735116260109879377580276039701247129727619052948471551558207872663435234227152676677251387161005467809512285553230176766982245968346719058565815360842751329340430169264654202449840788425949567654329057280000000000000000000000000000000000000000000000000  *  4  =  131442977894131750592060535655364177049189329614528877215790422207393241660567223820050714001997437317362868689819939805042940465040439517510321104158804988518910476211793886206232831490653740936908610706709005548644021871238049142212920707067928983873386876234263261443371005317361720677058616809799363153703798270617316229120000000000000000000000000000000000000000000000000
fact =  131442977894131750592060535655364177049189329614528877215790422207393241660567223820050714001997437317362868689819939805042940465040439517510321104158804988518910476211793886206232831490653740936908610706709005548644021871238049142212920707067928983873386876234263261443371005317361720677058616809799363153703798270617316229120000000000000000000000000000000000000000000000000  *  3  =  394328933682395251776181606966092531147567988843586631647371266622179724981701671460152142005992311952088606069459819415128821395121318552530963312476414965556731428635381658618698494471961222810725832120127016645932065613714147426638762121203786951620160628702789784330113015952085162031175850429398089461111394811851948687360000000000000000000000000000000000000000000000000
fact =  394328933682395251776181606966092531147567988843586631647371266622179724981701671460152142005992311952088606069459819415128821395121318552530963312476414965556731428635381658618698494471961222810725832120127016645932065613714147426638762121203786951620160628702789784330113015952085162031175850429398089461111394811851948687360000000000000000000000000000000000000000000000000  *  2  =  788657867364790503552363213932185062295135977687173263294742533244359449963403342920304284011984623904177212138919638830257642790242637105061926624952829931113462857270763317237396988943922445621451664240254033291864131227428294853277524242407573903240321257405579568660226031904170324062351700858796178922222789623703897374720000000000000000000000000000000000000000000000000
The factorial of 200 is 788657867364790503552363213932185062295135977687173263294742533244359449963403342920304284011984623904177212138919638830257642790242637105061926624952829931113462857270763317237396988943922445621451664240254033291864131227428294853277524242407573903240321257405579568660226031904170324062351700858796178922222789623703897374720000000000000000000000000000000000000000000000000

In [21]:
print(2**64)

18446744073709551616

In [23]:
print(1000000000)
print(1_000_000_000)

1000000000
1000000000

In [24]:
print(0b1001010101)

597

In [26]:
print(0xdeadbeef0126)

244837814042918

In [28]:
n = eval(input("Please enter an integer: "))

Please enter an integer: 10

In [29]:
n = int(input("Please enter an integer: "))

Please enter an integer: 10

In [30]:
print(n)

10

In [31]:
0.1 + 0.2

Out[31]:
0.30000000000000004
In [32]:
round(0.1 + 0.2, 1)

Out[32]:
0.3
In [ ]: