package no213; import java.util.Scanner; public class Main { public static int[] d1 = {2,3,5,7,11,13}; public static int[] d2 = {4,6,8,9,10,12}; public static long MOD = 1000000007; public static int MAX = 251; public static void main(String[] args) { Scanner sc = new Scanner(System.in); long n = sc.nextLong(); int p = sc.nextInt(); int c = sc.nextInt(); int[] deme1 = deme(d1,p); int[] deme2 = deme(d2,c); int[] deme = new int[MAX]; for(int i=0;i= 6) { if (i == num-1) { break LOOP; } p[i] = 0; }else{ break; } } for(int i=num-1;i>=1;i--) { if (p[i] > p[i-1]) { p[i-1] = p[i]; } } } return ret; } } class MatrixMod { public static long MOD = Main.MOD; long[][] e; int n,m; public MatrixMod(long[][] e) { this.e = e; this.n = e.length; this.m = e[0].length; } public static MatrixMod identity(int n) { long[][] e = new long[n][n]; for(int i=0;i= MOD) { c[i][j] -= MOD; } } } return new MatrixMod(c); } public MatrixMod multiply(long k) { k = (k%MOD+MOD)%MOD; long[][] c = new long[n][m]; for(int i=0;i 0) { if ((exp & 1) != 0) { ret = ret.multiply(x); } x = x.multiply(x); exp >>>= 1; } return ret; } public String toString() { StringBuilder sb = new StringBuilder(); int n2 = Math.min(100, n); int m2 = Math.min(100, m); for(int i=0;i 0) { sb.append(' '); } sb.append(e[i][j]); } sb.append('\n'); } return sb.toString(); } }