#include<bits/stdc++.h>
#define ll long long
using namespace std;
const ll inf=0x3f3f3f3f3f3f3f3f;
ll a,b;
ll sum=0,sum1=0;
char n[100005];
char s[100005];
char ny(int x){
if(x>1){
for(int i=0;i<=9;i++){
//if(a==2){if(i%2==0) return (i+'0');}
if(a==3){if((sum+i)%3==0) return (i+'0');}
//if(a==4){int y=(n[x-1]-'0')*10+i;if(y%4==0) return (i+'0');}
//if(a==5){if(i==0||i==5) return (i+'0');}
if(a==6){if((i%2==0)&&((sum+i)%3==0)) return (i+'0');}
if(a==7){if((sum1*3+i)%7==0) return (i+'0');}
//if(a==8){int y=(n[x-2]-'0')*100+(n[x-1]-'0')*10+i;if(y%8==0) return (i+'0');}
if(a==9){if((sum+i)%9==0) return (i+'0');}
//if(a==10){if(i==0) return (i+'0');}
}
}
else{
for(int i=1;i<=9;i++){
if(a==2){if(i%2==0) return (i+'0');}
if(a==3){if((sum+i)%3==0) return (i+'0');}
if(a==4){int y=(n[x-1]-'0')*10+i;if(y%4==0) return (i+'0');}
if(a==5){if(i==5) return (i+'0');}
if(a==6){if((i%2==0)&&((sum+i)%3==0)) return (i+'0');}
if(a==7){if((sum1*3+i)%7==0) return (i+'0');}
if(a==8){int y=(n[x-2]-'0')*100+(n[x-1]-'0')*10+i;if(y%8==0) return (i+'0');}
if(a==9){if((sum+i)%9==0) return (i+'0');}
}
}
return '#';
}
char nn(int x){
if(x>1){
for(int i=0;i<=9;i++){
if(a==2){if(i%2!=0) return (i+'0');}
if(a==3){if((sum+i)%3!=0) return (i+'0');}
if(a==4){int y=(n[x-1]-'0')*10+i;if(y%4!=0) return (i+'0');}
if(a==5){if(i!=0&&i!=5) return (i+'0');}
if(a==6){if((i%2!=0)||((sum+i)%3!=0)) return (i+'0');}
if(a==7){if((sum1*3+i)%7!=0) return (i+'0');}
if(a==8){int y=(n[x-2]-'0')*100+(n[x-1]-'0')*10+i;if(y%8!=0) return (i+'0');}
if(a==9){if((sum+i)%9!=0) return (i+'0');}
if(a==10){if(i!=0) return (i+'0');}
}
}
else{
for(int i=1;i<=9;i++){
if(a==2){if(i%2!=0) return (i+'0');}
if(a==3){if((sum+i)%3!=0) return (i+'0');}
if(a==4){int y=(n[x-1]-'0')*10+i;if(y%4!=0) return (i+'0');}
if(a==5){if(i!=5) return (i+'0');}
if(a==6){if((i%2!=0)||((sum+i)%3!=0)) return (i+'0');}
if(a==7){if((sum1*3+i)%7!=0) return (i+'0');}
if(a==8){int y=(n[x-2]-'0')*100+(n[x-1]-'0')*10+i;if(y%8!=0) return (i+'0');}
if(a==9){if((sum+i)%9!=0) return (i+'0');}
if(a==10){if(i!=0) return (i+'0');}
}
}
return '#';
}
int main(){
//freopen("in.txt","r",stdin);
scanf("%lld%lld",&a,&b);
scanf("%s",s+1);
ll len=strlen(s+1);
if(a==10&&s[1]=='1'){cout<<-1<<endl;return 0;}
for(int i=1;i<=len;i++){
if(s[i]=='1'){
n[i]=ny(i);
}
if(s[i]=='0'){
n[i]=nn(i);
}
sum+=(n[i]-'0');
sum1=sum1*3+(n[i]-'0');
}
for(int i=1;i<=len;i++)cout<<n[i];
return 0;
}
谁能告诉我p6380 Subtask #5 #16的测试数据啊