1 2 3 4 5 6 7 8 9 10 11 12
| import java.math.*; import java.util.*; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); BigInteger m=sc.nextBigInteger(); if(n==1){ System.out.println(0); return; } String[] s={"2","6","22","86","340","1340","5254","20518","79932","311028","1209916","4707964","18330728","71429176","278586182","1087537414","4249391468","16618640836","65048019092","254814326164","998953992728","3919041821896","15385395144092","60438585676636","237563884988120","934311596780040","3676495517376184","14474185732012088","57011153530262480","224656915621201776","885652912419210822","3492861836026915782","13780479845245611084","54388113081432337380","214729932989712917668","848052809484541707556","3350334574655466140216","13239822072430180232232","52335808270599440879284","206934571189982074002548","818425886045480073365896","3237673398479042349060632","12811192923571669467870664","50704290989642196738527048","200721767558683308700217776","794758327136359419952519952","3147480247103506996680796444","12467371711588974170827212188","49393251191799570968275635832","195721323613651013964116220008","775681930753017847189773247816","3074691375740439617836809788744","12189592067181565816702419563248","48333049189844665620128143125968","191674487676565550273850199554424","760234106384599142912931614646008","3015721572748589992463595600401200","11964485381977151314836595373090960","47473780481353767802050510461474416","188394767873878618122620614886243696","747717213262848575274466080605467552","2967958428851480386917331132533607136","11782259592346823520686656131742782022","46778706886870096588550881954439021894","185744202455399051984941117140485426188","737612707907218431744486755161165283876","2929451267263567016070637982850089264452","11635570442457473175795713890168152798404","46220155055609632689452725735280292076408","183618435592218742042711461696686422730216","729526765909664873244748736973027445604932","2898712749488697136757456372292134404034564","11518796733262965478081905854113416167753128","45776865583236473399203960989099899119494776","181937009594320978873736215406788995917525032","723154688965889751097101396443192826411889064","2874588225169330729910266250097039087510781168","11427560208426660761216674193001922526450403536","45432226748523983679867488376304124899523401012","180636860154887532842333974035976978875788303284","718256924308840704281727251872444612431548985768","2856167234882640332177000885696057331411192948216","11358398642653256630400822038234943728547172796632","45173065721576308057178968529470878470010061869784","179667842488623618336093016334593779472760809719248","714642491229551839105935178063714692911965481155696","2842722058240330382759816822753037594153543736276232","11308537787442034315752841106800792975560381040259464","44988801505636138725613585002139650894736930818859728","178989582482503853042943703302031527717732898643340656","712157265987568127773494228152764511315128648488823312","2833664093821898191595666210009358256743525029610686224","11275728828895114632325888269455044211548265118705668448","44870838790971390745360943764893423662680647193816689696","178569214591821033028866839352551169428060985661714360092","710675533602207732686301380136130771528525107574404678684","2828512285392854707326223033551336688181493890435185846968","11258130303537041119524653026082830440762998748471762960936","44812126024908558505907621010943168569218082391894548561192"}; BigInteger q=new BigInteger(s[n-2]); q=q.mod(m); System.out.println(q); } }
|