import java.math.BigInteger;
public class 斐波拉契数列最大公约数 {
public static BigInteger gcd(BigInteger a,BigInteger b) {
if(b.compareTo(BigInteger.ZERO)==0) {
return a;
}
else {
return gcd(b,a.mod(b));
}
}
public static void main(String[] args) {
BigInteger[] dp=new BigInteger[2030];
dp[1]=new BigInteger("1");
dp[2]=new BigInteger("1");
for(int i=3;i<=2020;i++) {
dp[i]=dp[i-1].add(dp[i-2]);
} //这个gcd方法是BigInteger自带的
System.out.println(dp[2020].gcd(dp[520]));
}
}