eg:10 4 0 ( 11进制, 5进制, 2进制 )
=> 10 * 5 * 2 + 4 * 2 + 0 = 104
每一位的进制数尽量小则可以得到A−B 的结果的最小
最小的进制数等于max(max(a[i]+1,b[i]+1),2)
#include <iostream>
#include<algorithm>
using namespace std;
typedef long long LL;
const int M = 1e6+10, mod = 1000000007;
int n, a[M], b[M];
int main(){
cin>>n;
int ma, mb;
cin>>ma;
//逆序存放让个位对齐
//123-23如果用正序存放,相减就不正确了
// 123
//-23
for(int i=ma-1; i>=0; i--) scanf("%d",&a[i]);
cin>>mb;
for(int i=mb-1; i>=0; i--) scanf("%d",&b[i]);
LL res = 0;
for(int i=ma-1; i>=0; i--){//秦九韶
res = (res * max(max(a[i]+1,b[i]+1),2) + (a[i] - b[i]))%mod;
}
cout<<res;
return 0;
}