#line 1 "a.cpp" #include #include using namespace std; using mint=atcoder::modint1000000007; #line 1 "/home/kotatsugame/library/math/matrix.cpp" #include #include template struct Matrix{ vector >dat; int N,M;//N x M matrix Matrix(){} Matrix(int N_):Matrix(N_,N_){} Matrix(int N_,int M_):N(N_),M(M_),dat(N_,vector(M_)){} vector&operator[](int i){return dat[i];} const vector&operator[](int i)const{return dat[i];} static Matrix eye(int N) { Matrix res(N); for(int i=0;i>=1)if(n&1)res=res*a; return res; } template Matrix operator+(const U&A)const { Matrix res(N,M); for(int i=0;i Matrix operator-(const U&A)const { Matrix res(N,M); for(int i=0;i Matrix operator*(const U&A)const { Matrix res(N,M); for(int i=0;i; int gcd(int a,int b){return b?gcd(b,a%b):a;} int N; int C[10]; main() { cin>>N; for(int i=1;i<=9;i++)cin>>C[i]; for(int i=1;i<=9;i++)if(C[i]==N) { mint M=mint(10).pow(N)-1; M/=9; M*=i; cout<=1;i--)if(g%i==0) { mat E(i,1); E[0][0]=1; for(int j=1;j<=9;j++)if(C[j]>0) { mat A(i,i); for(int k=0;k