#include #include #define MOD 1000000007 long long int power(long long int a, long long int b) { long long int ans = 1; long long int k = a; while(b) { if(b%2==1) ans *= k, ans %= MOD; b/=2; k *= k, k %= MOD; } return ans; } long long int inv(long long int k) { return power(k,MOD-2); } int gcd(int a, int b) { return a?gcd(b%a,a):b; } int c[110]; std::vector V; int main() { int a; scanf("%d",&a); for(int i=1;i<=9;i++) scanf("%d",&c[i]); int count = 0; for(int i=1;i<=9;i++) if(c[i]>0) count++; if(count==1) { for(int i=1;i<=9;i++) { if(c[i]>0) { long long int t = power(10,c[i]); t += (MOD-1), t %= MOD; t *= inv(9), t %= MOD; t *= i, t %= MOD; printf("%lld",t); return 0; } } } for(int i=1;i<=9;i++) if(c[i]>0) V.push_back(i); int g = 0; for(int i=0;i0) control = 0; if(control) L *= 2; // 4 control = 1; for(int i=1;i<=9;i++) { if(i==4) continue; if(i==8) continue; if(c[i]>0) control = 0; } if(control) L *= 2; // 3 int sum = 0; for(int i=1;i<=9;i++) sum += i*c[i], sum %= 9; if(sum%3==0) L *= 3; if(sum%9==0) L *= 3; printf("%d",gcd(L,g)); }