import java.util.stream.IntStream; import java.util.Scanner; import java.lang.Math; import java.math.BigInteger; public class Factorial { public static void main (String[] args) { Scanner sc = new Scanner(System.in); int pow = sc.nextInt(),i=0,j=0,k=0,count=0; int FalsePow=pow; while(FalsePow>0) { if((FalsePow & 1)==1) count++; FalsePow=FalsePow>>1; } int [] pows=new int [count]; for(i=0,count=0,FalsePow=pow;FalsePow>0;i++) { if((FalsePow & 1)==1) { pows[count] = i; //System.out.print(pows[count]); count++; } FalsePow=FalsePow>>1; } BigInteger [][] Matrix=new BigInteger [2][2]; Matrix[0][0]=BigInteger.ONE; Matrix[1][1]=BigInteger.ONE; Matrix[0][1]=BigInteger.ZERO; Matrix[1][0]=BigInteger.ZERO; for(i=0;i