SFFHelper.MIPOPRIMCACHE := 
[ ,,,,,,,,,,,,,,,,,,,,,, 
  [ , 1, 6784, 10073, 183, 12820612, 4047, 5317001, 121411481609, 
      391840891634, 21, 2080001665023084, 8716, 154298880262334297, 
      168809903226794350566, 1487908720361, 2588307667, 
      349829887356146476826847, 454099491545334, 9872613258466159018886681, 
      27438231819213409413034682461, 18906936126115899904108259271, 528, 
      96118714389140455711593037155867, 13815303497704800980591114886810, 
      6251447718051571562692555542968990, 100171034465744744367918267969111284
        , 4576421452726180049342431100978897285, 8049, 
      16193440643431463370779596467809307224391, 5036, 
      116519597897938974330281, 675486045777255364141799044334832002425966393,
      640846209918831816928074136195693843979372379, 
      5266593070166477119150794230225852949711672, 
      2191731274589322251556016532172251645503038540643, 3764432, 
      200164852277149568348663250645367998189858733429995, 
      103312946380115720405322613561864023524339918308954628, 
      143682632211365182229548324672327252820500806953974, 3013620, 
      516000840152650225539310239743991038273602858498979964282, 6001619, 
      3169025362547800073114803357097684033264587567577724703455, 
      4162859517444037764628771752478972746187278276988010253388154, 
      10523755871923347665314936586926348, 3127, 
      88632535310318233979573250941478730087044636919138720396523920256, 
      250838963515880371006957202985602276382281514181864371818029, 
      536624793159176915082285253105050251276107467073990879337873355585, 
      2537808307118191451718306671234433337111758377139047256666062989729426, 
      2077846000854337520304992713070034106569005747888215455427401515797710, 
      1765527609, 
      142754353060228017311029980101062603769832443591218652585101950901299212\
7, 23913805850807449569971196391539795765226123470628472921583591730109769, 
      119235311529233075736399465909251011649014246596424060535374536460185682\
0, 388258119816871550220407533838945221589472433309590825814879962568728304186\
538, 1088836874508995607257434184746802684494137744105222709343578129715377346\
59955, 7543, 
      233459355964407977479149812403207024591536396665199987920003081006765359\
2698352003, 5036, 
      404832053098475107434275093741039893812021620790898597041799556001410347\
20521169958, 
      202282805613854332269819414168650601774364973999874288280481694172097691\
90501687576997, 714569299699862349758139410132817438821210921, 
      260807560377207220380175548879926127402784212676550767522075908979909755\
8283726974314, 
      387614881534543059711154499307473165812734549316695500998631516077197330\
781660109040518424, 3590322, 
      776530198886918012452718716892470123435693546185562911909158657917894197\
285886772183016979, 
      209277093068482878816169661474616716202438292965007438408661074301, 
      475236265869770140803631979599773856362320687422342737359408000796774416\
4832338290583311651204, 2182161730, 
      405939731763934486814704143672686910822367492117287254599921135868736967\
84683785813329360209224241, 543604, 
      155532989179296978419432645673090959295648993977517656331680206674354114\
0599146075267143379544181602, 
      108684840780441547115685517295549583123456467496843930828136574169656084\
145366898742703350901962240896, 
      937851434815912212386536711494565936399552068604806689036206558210191747\
728340530171480773543560082898, 
      965690260995049165791770045134588907626159061367821365667847744059338659\
393830346846948544483917698, 
      988300576345243814196225791977880703261447218380244391867966963410852923\
5871651899141958579038435334258837, 9498, 
      629369991080903159772601460729028839931172798688774669347628741745723700\
543263838423551986573339679078014, 
      641168826388382633832116206844021629145157706827788459053185783810125345\
9596463337901244432598955531880906187, 
      156380983121172062919530625686909878869008167472135106338875602205865018\
283867967724005202629689514490401169070, 4277, 
      156932911674954067169783499602062746702966026653130330806140481506599029\
2598559955531435815502273936614023061285094, 
      850078912697820214336526646760765617625584542652890292698088741277793326\
006606152783216699615361370797126021053, 
      485752957505940837556634204177990405118481056431713284122042860445984138\
40994312533696391224147124408523024099039276, 
      464084681077826148978866493976038660947511956664026578578506169053552049\
0529948539439191434157625827126431183231848518, 
      485492123882281555222587213373157381775389573724126638339130925978444773\
7182252069170417745558759760463485636775419, 11062, 
      158855039205241028641087737294838417732403676777150564885748981244619830\
058632514117212530712636926709034879111234135693185, 
      294465786222223305197758518847384291293172119772768410757084596584107639\
41750809978343734455323838928795264521563885816, 
      415131346267176753071162896997880782762275584560880470537225154211063575\
7528687009802201103705563, 
      875240656995604104374342884392009661655787150920544677285297505701963281\
009283432389909122122960508525614176040668492186133653, 
      190090719111086999142918580674213624851393339907036543758250821509904331\
057296935554183061223981461451915053011193259666912562, 
      150204218283193896233471889166294843846182161886479362319857719362807756\
614487338087578680223643385052320266025552068726529064, 
      380857829366667545878924168131269677950732584195317395056340513192197379\
89950135981535102538059244846520120633661293689519625575084, 2546973, 
      159890056474372517564300417238322420865627785785662263752690689758423506\
319565110443305380948829442206354152248188654383997545973789, 
      314125112795702427268105883454318008402969444001772093884026495784631637\
260091098484288573785492964333316408777076582533720918197381140, 
      439840913167533389204887826889664153323755142839518922669274211774185627\
134256099624121313029075046958082040921736858962764654220080660, 3702, 
      588096295176193110301421077876363548583444925868668935426323713442052879\
5858392072230184851669247317219423205246068195818004673221282639388, 3858870, 
      253066106791385299437382296160553287627466609206848651823939135503231642\
629474307468249964880988546332756679613114958835034625892102405038, 
      276814399010726988059590270523132579729318969644867315089016640522957564\
35237197853743958588009103920560000789808513245729074524363862859221323, 
      293259166958680244526788280032607384714000037865072618625366007048886681\
74257063398561735550584264842668348907119388954804500155298358850551237, 
      2966, 
      445295314136930547168579864530102708443105051916406192364759755627440622\
79997010812761121474004057724702890363713158875760400870381961536679916128, 
      6646, 
      105051836697723368667602167409556319271433737060519696571380326046319737\
85396923673449633731292059308970510935598667079357220149542719283191445261191,
      474859922471803182188533637628173776373434164773781413945776313794166931\
589572447950711965107883921598786616975772049417626727833816268693472872075309\
2, 105190620844229707928460811695452266220782887471860928562464655311535130212\
0338329730641977645041025690947696661850627609423082483215889557043505264, 
      1837469, 
      147176388626845363888428915130447066603952640124651530327610448808447202\
042239550802613120889310797546143243920669796595639682475694114774157793320499\
886268, 
      821191906559895836297408268513128055133592768461658294200479110321013018\
66579688041483337453474892686126019220709296112413161027, 
      379792293723616372967204234056620743041107052631287636968905696472341688\
402497059471609774609165345575914117198775990025358435773519498494922225727433\
2122346, 
      120396693680924504615681536171701681627323172666954791300401097600510843\
345253258572091286679097948183557756413963431667361780942838071030428709669164\
3425831326, 
      118834219220933719766734229827404165243467015031719798514385828120844390\
967748746098295321688064009261298135895601632101606057649121222739596635214280\
2523899999, 
      752275992704772822664411024380621160335788222451408359306532114580633044\
437820440306433319337144391570336338310240397484439431997753961670433609467191\
867678, 
      231050298664083486864461552044743321960205101483578979384019763130138426\
594443925670554083927928297328768354789596263962976400809873324939446532096254\
32708313384142, 21, 
      383834819699158461801113274847230480502291806687041746773392827891562156\
420772702329122173261069087647729753349952991376328800069688578976989153440998\
444228316358730, 
      121863907737979431345897917701716753150408003083026930926511198090165773\
895533193058642923329419235700654432707056654888564434198386749037115514769248\
895120328807926927, 
      189278918644357180753696121315167152752402957982401483528278641934903108\
034781080720651946423693664207104803512118224145667667387890266406136549591836\
449059053029806038, 
      528827411938706772158810490948986591178184509734549504591500181003471788\
093245420420667261181270867294381358972390298745836854166463788962678563094129\
0316029775445135, 
      230679505429668889869818324830013040586536022822026055059919009294847622\
752284385714020938951814301992532086520629363258440859641884048150848831265765\
1142563349338199805172, 229, 
      268741728459764052008494896997234719353540795525720459487353593137834357\
89478992875599401, 
      204898131173433444826741702538406600676859013648176941141977147054560978\
566441644544914940767781405450283535972453279815902425187071906212242945503681\
02780593930828494758501385, 
      380452447106079211132718170084773221292401228673605024459333309192758840\
185239220299267903774285277424280433016840370535139241950806513590767413732102\
78646463521282509672703325, 6761, 
      547755069518622269541339490616316946608232198959259445808974369621061611\
703162925769862114914108661887334472360872682885567001325700535489763258861982\
984694671843888843617568063722, 
      371569436588942492937864660218443228817834523413844946788526052061075475\
249242302256704533887116403625423670084468841172203295464643510667230877567153\
99736125201157596012139070, 
      117601353312551011303641557027624606654614661443558730137096491972208448\
970688833662149669666049492264948364597596894894264016810098542607227908403086\
82354330320980356835550154313474, 
      286240701925348749115884062652657094052757224833462301126561731995954135\
842467915592709978580727226228883870877919995962393735959375934308703420901513\
438777186432723326179447195845287, 
      559893460068961402111889885924240254392578017243739898576266371218207125\
909653499047355609711435173925845203150012843869713155379551726886292304398330\
134165993408160514991562146674, 2955637, 
      161942673640658904818535506285773155041921238486688997870321864994963442\
129595655646737799097149475206349993701901864440954387398838928336831751744079\
7143164908, 7658, 
      174387527311255026470326562346474850535000972495718184428653308652646018\
749854424109429318120327215890578476877937944207608270419310185861858872975124\
3197053994139269712560164142142266375628, 
      562247081356769845167837412503346646040330510109626344711731697706782196\
774757204981177153894273103122524364945982790541799541305048336660551397258791\
171918824055346664594208333524422244132397, 
      877682280596726512430335819341044280935849728817518425235441717835868015\
948417952587923142433417401054105046840157937317964457315787163917115698400037\
48650313067365460001323025374048603928726, 
      716908739328243756812935175351365199467177392449909194450083593384659347\
177160161516015409883533912965817180055700084847193293048068032085062433421217\
8932884843995535094470253639061, 
      883705785617092385269955754549505572289858356089259501575476664479898447\
656629336977848340096821419995284278403433780340913002860147595518737131365858\
9525745368614547300614793873922485796523121398, 
      199046568828666349953579098663077214367180694616083321221386668326238153\
599488783774726009675654856915557526568963349179158778933685322243856346109046\
22252580826596062733116417485504481929902800, 
      492152439704089021306698937673116511136249312786864099284946376025246505\
276403826029719076631043014869974114086432329921789859613028998264904292820619\
45348386328579042781826413522974027491337713009, 
      853214941758988898373666896457205313422214547800739070106930253329382809\
711680023388030531690715852875243719264774345488062749454470115112309727485716\
43003923620280972822087023129293464469572386538721, 
      845704834717329727189843687525362843415960832356700690956975499172374276\
803551520132988480515307043466602137485303345614608119966338779643022844618248\
70138371832736629939647677958261627353027853950513, 10556, 
      234841747382998536849297495341703013267671001007990571965827983470777326\
145994224280827547882136375886456495404029743701889465164651208504683937729849\
929238799784559274678829472198675468421186408318104544, 4277, 
      549338520501324444811966375588135263048878600959713888732211977378636234\
087341152535413339768074232963553548531470800520000806636069260641578455918987\
97620895839785655306503141895795550073825544647083746, 
      171107613489092050565798017136085434247135575383367653693130685743508982\
842748646590417112710108003349961698820606879905811576457124022830897921416323\
70630331542463724916274697853968625769921578613915809913640, 
      769677672581395553655406575721517908416750820399065222640704603763137817\
263329449101160036920504689230261580342615527515397184832171007587119444896211\
0533289077201715443166653177628518859140755866370267014451, 
      444983403153257784402513967780919953378082961648492235619376105483628872\
787866876329034911015782250306648728030080617298355369535647352359118519886007\
560210444874853031146932387659132409002696704399071508688, 
      447483449444581679210285672438757952394364529693393541212205447938024059\
888973801940302592200121559506478516334680592818862890453955375970151519355914\
90224540697833870185152980846807392579902345160799672792004799, 2114228, 
      269988699353255413921987289869930887071698488993644064772413229652066665\
270710103913221540258663365585963398165443082593185373306239007242944911107237\
5240980715113933654251843929832157153204855482877601201610282833, 
      227403821548053404645067064569433634525912199314902417230897808388607479\
527868659443374212423984156406528038288723865928503738663002591611203189275886\
6276539561328960292537842428217443430529461097517521363752940684893, 
      473446626011089223854807859220925566432586269513828753245317206389814990\
420236048916461265935411482278041572132392524831754626450800455027247061688781\
9758144521045036964686357029835111751123407496849181984434078984, 
      318253064918926327453492875002310230943131679431230291741267260423627955\
293640635457247089640172093774581290129934661335207289006924469172986017208410\
87298180585053471760329069256367236617514, 
      255524597842678306697719613375032195577928898875197324029703879274293771\
074878945030720778707494892851884332430468463881369355889595993574995231548482\
3946347038788586800311444354148006497875720980507916336284698781881, 259485, 
      797178929977753007484161177046136303116302804857792013612499062940470438\
267572639363951053541400100216071597005698550826413667138908453317976858277124\
337767126105962701179990132634790717972822397874783244667873234040007471, 
      346724691051726234015729147285631177213465836880055124986221138162272592\
541662192718035549152447128371531064734034740779617882734450154800492396833693\
844734879949496495507929189134291340150454605062352706075195603444818973704, 
      295653777585894755779335635119755852679059663903173175246813283352474571\
999305131350229663864896683829190669515003176592871792172602146813342745495159\
193349824440822149364410823309418834367865069162595792207645858158055864316, 
      5439476, 
      143076563807016303843966115899003537759591247693334720118559130220108426\
304991685403272757888811762498984991444088035772615861490172037154813232112396\
737478144692640228802817163712549354761318024248076161781078074508764301235290\
3, 432981552424411338710507957444744752619278112031004129564346678269434359932\
231776833029654972668169132145323897273580242971486406257731305659537271226342\
060030020462824524141020820589563785578857956769680076709659393096122, 
      944258085814873636925462586309973045285597582194481241627093853365458912\
517385063526329532830676917903814222885741969518887180088479152070580532679854\
743555473079205871579698558449156429360508806578883809855949459376402864190100\
47, 60438312250463306507349092358245177405738084473698479681247639345026226307\
546642466314992837504119883721838224566523769420462718344911118539954656208491\
981216841234529909124112424636632179053828495172310194310523382493418503403113\
465, 3744507624431277367947185484267240961394270210126390503593843686943253843\
337221702166658422664268747238983791067409729616869473557627497740342822040271\
322776161201503684014751715577814699804019310293723787187500776920485307641128\
9318, 4737, 
      242842061054465455663555940672009642701715275181178235924894920411171551\
689553877126782131142267857931838318342914679053972357971567873445432656444605\
437733423572238723354140518543376408182532361364098887452715677206956165929502\
899598347, 
      223410634169319465528351249128543789237696518440478656500014146654326499\
433778123038948156141815065170009426650744897323953823119540406294635751292041\
866817433546738433091791801266068866063640743841126575777747970272172649421986\
50240669, 
      117911519492547535073190144982567221519897769151555376134359179543096212\
343887943834970720822307006760695796176647207777219353369094482024180215720388\
382970041537907151173657212801260766955379667138409098742753438357115351339644\
17, 85624119352284943863081044077247780863704609413213041729393631696607795176\
755883896698230728302992323544989673969479753979592292540121590548615854144194\
118401682643226939930609857917587342400154297755610672510295834867686513950980\
75291892449, 
      923371290026415789567354146529506546969295966802957469366271865847962924\
811970345415626632628429249267905837619053947367168110361419374116440393298740\
074919324770679673148829258964611542689051786023197065058337202407083757938630\
8389045733319, 3639749, 
      117188813038118143798390236062689746652674193350887792455378685190153896\
458687819976637244700162730514004164766548586750187155773374113254377685854456\
582698366739792843077730865109298185310621818058350978423579765545900759840425\
850962594027242471, 3127, 
      284122637594586511270125652353637450839116422202468134298184364767610517\
560467941976300895005164539498864250016427512074199602219429219740349278466195\
721538228554452148839544299280841235023881578064214327249602987688829706872436\
2121169084189232423, 
      130941342064507769089545425351167889181853195818103937388759202676041567\
460605719341034192865812441671861443832190304661253537291841649536449100528095\
511402472771064949147129388036762317880100112257546332314808361949520153338065\
1439422813630613969006, 
      622994337927483873144973529680827367162942895201942099692587972913856900\
862284955123271619228331640717622127808300374767411722185956373422283958258116\
296271174037192398583814274081271836988256694724926284608846986871710705, 
      189816006525917945489801331853248373787094847719058339406796651802186838\
744096672135310713639772235030891271518983680410581279859027680700005164424157\
061786149358021751308703342992042825125663524982226995336195087578969624771867\
98896189057720102557, 
      738143365142672427491801053304136940263708354362658766889967262060965716\
246320543210441147605346271525590474460970279553130980036751365302823771179280\
258497789722353334972433039859797435205556884980246454078832029611761002018928\
9335887410833908213139941, 
      705125826150877902129394275389813479151416790179580636609831124324999255\
524989084616089711118946141544271522313013784574608987939594349901422866584908\
795043012032245976450781988702081586837541233393019037946985899990381698156394\
9497731396082, 
      363982632070630183750539539829627473664117783513461023297967435550494691\
842597764532439050283047129121077334505691537799842270819275967105860266114151\
154043279248024472682050754639108025795073459577169644281746930019616658993003\
155322968156101868877522461, 
      762537307312175053351446332414470167482285869846768371525619805090879711\
846569537284190207007140664281356917733230628369936775886554606793073355761388\
358741029499982618432373624921703676443065252639662385342793583510566225486433\
2725846985095050023568302911, 
      306483217756873531154904893384946299381889566801853278298093748043354164\
192219335213185695855318269163377418020589822092061787189847295059153496896179\
792851067232730998338824480584556278741517228874916356852268075966386773487651\
94613957241967279495432265157 ] ];

