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