public int solution(int n) {
int[] memo = new int[100001];
return fibo(n, memo);
}
private int fibo(int n, int[] memo) {
if (n <= 1) return memo[n] = n;
if (memo[n] > 0) return memo[n];
return memo[n] = (fibo(n - 1, memo) + fibo(n - 2, memo)) % 1234567;
}