package no41; import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.util.InputMismatchException; import java.util.NoSuchElementException; public class Main { static IO io = new IO(); public static long MOD = 1000000009; public static void main(String[] args) { int t = io.nextInt(); long[] dp = new long[100000]; dp[0] = 1; for(int k=1;k<=9;k++) { for(int x=k;x<100000;x<<=1) { for(int i=99999;i>=0;i--) { if (i - x >= 0) { dp[i] += dp[i-x]; if (dp[i] >= MOD) { dp[i] -= MOD; } } } } } for(int i=1;i<100000;i++) { dp[i] += dp[i-1]; if (dp[i] >= MOD) { dp[i] -= MOD; } } // System.out.println(Arrays.toString(Arrays.copyOf(dp, 200))); for(int tt=0;tt Integer.MAX_VALUE) { throw new NumberFormatException(); } return (int) nl; } public char nextChar() { if (!hasNext()) { throw new NoSuchElementException(); } return (char) readByte(); } public double nextDouble() { return Double.parseDouble(next());} public int[] nextIntArray(int n) { int[] a = new int[n]; for(int i=0;i