#include<fstream>
#include<queue>
#include<vector>
#include<algorithm>
using namespace std;
#pragma GCC optimize("Ofast")
ifstream cin("multiplu.in");
ofstream cout("multiplu.out");
const int NMAX = 2e6 + 2;
int coada[NMAX],from[NMAX],cif[NMAX];
void afis(int ind)
{
if(!ind)
return;
afis(from[ind]);
cout << cif[ind];
}
int main()
{
int a,b; cin >> a >> b;
int lcm = a * b / __gcd(a,b);
vector<bool> avem(lcm + 1,0);
queue<int> q;
coada[1] = 1;
avem[1] = 1;
cif[1] = 1;
int st = 1,dr = 1;
for(;;)
{
int rest = coada[st++];
if(!avem[(rest * 10) % lcm])
{
int p = rest * 10;
p %= lcm;
avem[p] = 1;
coada[++dr] = p;
from[dr] = st - 1;
if(!p)
break;
}
if(!avem[(rest * 10 + 1) % lcm])
{
int p = rest * 10 + 1;
p %= lcm;
avem[p] = 1;
cif[++dr] = 1;
coada[dr] = p;
from[dr] = st - 1;
if(!p)
break;
}
}
afis(dr);
}