def fix(f, *p): return f(f, *p) F=lambda n: (0 if n==0 else (fix(lambda po,A,n, mu=(lambda A,B: (A[0]*B[0]+A[1]*B[2], A[0]*B[1]+A[1]*B[3], A[2]*B[0]+A[3]*B[2], A[2]*B[1]+A[3]*B[3])), fi=(lambda A,B: A): A if n==1 else [fi,mu][n&1](mu(*[po(po, A, n>>1)]*2), A), (1,1,1,0), n)[1]))