BigInteger.
import java.math.BigInteger;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Main {
private static BigInteger[] b = new BigInteger[100000001];
private static Scanner console = new Scanner(System.in);
public static void main(String[] args) {
long n = console.nextLong();
for(long i=1;i<=n;i++) System.out.println(initFib(i));
}
private static BigInteger dpFib(Map<Long , BigInteger> map , long n){
if(map.containsKey(n)) return map.get(n);
map.put(n - 1 , dpFib(map , n - 1));
map.put(n - 2 , dpFib(map , n - 2));
BigInteger sum = map.get(n - 1).add(map.get(n - 2));
map.put(n , sum);
return sum;
}
private static BigInteger initFib(long n){
if(BigInteger.valueOf(n).equals(BigInteger.ONE) || BigInteger.valueOf(n).equals(BigInteger.ZERO))
return BigInteger.ONE;
Map<Long , BigInteger> map = new HashMap<>();
map.put(1L , BigInteger.ONE);
map.put(2L , BigInteger.ONE);
return dpFib(map , n);
}
}