#include using namespace std; #define MOD 1000000007 long long o; struct X { long long p[70][70]; } pole[100], out; bool soudelnost[70][70]; long long in, inn; long long m; void ini() { for(long long i = 1; i < 67; i++) { for(long long j = 0; j < 67; j++) { long long k = 1; while(k < 70) { k++; if(i%k==0 and j%k==0) soudelnost[i][j]=1; } } } } X sloz(X a , X b) { X ret; for(long long i = 0; i<67; i++) for(long long j=0; j<67; j++) ret.p[i][j]=0; for(long long i = 1; i < m+1; i++) { for(long long j=1; j> m >> in; for(long long i = 1; i<=m; i++ ) { pole[0].p[i][i]=1; } for(long long i = 1; (1ll<