import std.bigint,std.conv,std.stdio,std.string;int M=10^^9+7;long f(int n){long z;foreach(c; ` !OH R O],2Q[C,'31QR7Q$%M/B%\EM^I=,#NOLZ]94E_P3G;@6:(\=;X6V)_KTM,L'AIPEX+^5X(5DMNMA& H;L1?ZIQ,&@QN,5(W>5YI^= G8D2&!/ZX23GEAT+XU:508O )#(31E*;^'&_(\JO\YB-];S5&^_:GU#%-#>22DKOVO.\;[&\[IW;=]*?.6UD:B_T,I-ZP53L@I&,"W?PAOJN%AD*=EJS<5"S<7Z$!+07;TC^Q[DG OX=*HIH+A8GZS$[V[N)\>@/7^X<=%J1-Q.V@S6@=K&Z'#F%1:N4+# ^ZHM\:E>G^A!?>T=?V*<$$IL[X75P].)YK/DSJ-I0R#(7@E4M/%<[%K6C"1=?F'@7%#&=X+4$H:B?D+W(!*J=;F GQ/E:? C/BVC22]&9\(Z60/&%L0Z[Y*0^Q)?N77DSA0N[GOH SK)GAENH(_P;66;6E#_AP91EZW+8+ &0,I,-?M)YU_(>N#DLC 9QD XZX53KHBRBDB$EFDK'\\[8TJ]'LY/&4UO#^C5W)H8X6/J);)K(YQW;95*!31.V9"/RU4&U%N X"@%*L6:$(M@+Q5FUW=UX\,2Z-*/Q:D(9S_'JGB.VP8=!1-:@R-[7XJ-_'B62GCE?70VYD ;Z-+XK<1%$G&I=&LUC0-:I"F*.?0"3W&XY$!$VO-!X?F:5FB@+\SW24/&G2]'%](^X1R$AD.ECGUJ$UG*C7-J:6(8KI[];Q'2C?+RG'319[T4/=]6+"88[/7H^EK05?N*DU[;6F_5*EX,0I 6HVCS7]JG/_YQ#B)54/1FTI7R$VTTL>2]T$A8Y0;S#S\8<@"NYN%90#5I\#*L^?S;_QQ12GMN;2ML$K+-FQ[Z">85A'#3QGGO:YT)=0B"7(OC:$SUZQ/RR&U"&.5751>6S5M$ER>K>YE4H*Q?%@SFZ#":"AG9]LQ70@@Y=0A)N'%A( >J?^5#:O\AU *G%#G6 (+]L&R@%_8C"W/(2IA+R=OI@\ZIJC#V'*F9SP%(IDF*[@QB^[XU+2Y=,O*CZ$%1LIQ6W.LIUIFGS 3=8QNT#*P,O/!MP]HEB F% Q":Q JLBB$^Z #M4AR/K/Q#L-[A_)*ZHQCC!$8UQA%Y5"B\LBVKN!<+!1XOPG641'QT%)[34 (>IRSA:N\6^Q5Z4!,NWPC)/ ^M[8X@G?-_>'-8]#2M#=%Y$WTWAG>UY3VFAQ7V#;H8$^,M+X^TJ*P1DW%7 )).Z\0$_H6J#UY+L"?/;/.WEZ/O],3")#TPESCW>T,BT.AUJ:X9S$#^CU&WC[;$C@Z\&X(03X'%.52WOX$OR6WNB)(F]@S_,Y.RU#VC/SRERNV61)>H_'5=(Q3/&281#H\Q>9FP'6SB("B$CJF)>[%" L#=W:7;MLR[%3CEC7)F&K2Z-$@G)%$6NC$YJC016!U4YZDB32XQ1:^(*CXKG(@P0(;9B?=VLB=1W0^@K MN?9%U*^47YYSVL#V0%:H/^'?:RQ9?[1=0&&l/M==r/M){a=f(r%M);for(long e=M-2,b=f(l%M);e;e/=2,b=b*b%M)if(e&1)a=a*b%M;}a.writeln;}}