#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;

long long int m;
string c;
vector<long long int> a;
long long int digit;
long long int mod=1e9+7;
long long int digsum[10];

long long int pow(long long int a,int b){
    //cout<<a<<" "<<b<<endl;
    if(b==0){
        return 1;
    }
    if(b==1){
        return a;
    }
    long long int res;
    res=pow(a,b/2)*pow(a,b/2)%mod;
    if(b%2==1){
        res*=a;
    }
    return res%mod;
}


int main(){
    
    cin>>m;
    cin>>c;
    if(m==0&&c.size()==1){
        cout<<0<<endl;
        return 0;
    }
    for(int i=0; i<c.size(); i++){
        long long int a=10;
        digit=pow(a,int(c.size())-i-1);
        //cout<<int(c[i]-'0')<<endl;
        digsum[int(c[i]-'0')]+=digit;
        digsum[int(c[i]-'0')]%=mod;
        //cout<<digsum[int(c[i]-'0')]<<endl;
    }
    /*for(int i=0; i<10; i++){
        cout<<digsum[i]<<endl;
    }*/
    for(int i=0; i<10; i++) a.push_back(i);
    do{
        long long int sum=0;
        for(int i=0; i<10; i++){
            sum+=digsum[i]*a[i];
            sum%=mod;
        }
        //cout<<sum<<endl;
        if(sum==m && a[int(c[0]-'0')]!=0){
            for(int i=0; i<c.size(); i++){
                cout<<a[int(c[i]-'0')];
            }
            cout<<endl;
            return 0;
        }
    }while(next_permutation(a.begin(), a.end()));
    cout<<-1<<endl;
    return 0;
}
