m=10**9+7 a=1 $<.map{|s|c,d=s.split x=w=0 y=z=1 e=c.to_i+2 while e>0 z,w=e%2<1?[z,w]:[(z*x+w*y)%m,(z*y+w*x+w*y)%m];e/=2;x,y=(x*x+y*y)%m,(x*2+y)*y%m;end a=w>0?a:0 e=d.to_i%(m-1) while e>0 a=e%2<1?a:a*w%m;e/=2;w=w*w%m;end } p a