BFS
#include<bits/stdc++.h>
using namespace std;
const int MAXN=1000100;
int dis[MAXN],pre[MAXN];
char ans[MAXN];
int main()
{
int n,i,now,cnt,nxt;
while(scanf("%d",&n)!=EOF)
{
memset(dis,-1,sizeof(dis));
dis[1]=1;
pre[1]=-1;
queue<int> q;
q.push(1);
while(!q.empty())
{
now=q.front();
q.pop();
for(i=0;i<=1;i++)
{
nxt=(now*10+i)%n;
if(dis[nxt]!=-1)
continue;
dis[nxt]=dis[now]+1;
pre[nxt]=now;
q.push(nxt);
}
}
now=0;
cnt=0;
while(pre[now]!=-1)
{
if((pre[now]*10+1)%n==now)
ans[cnt++]='1';
else
ans[cnt++]='0';
now=pre[now];
}
ans[cnt++]='1';
for(i=cnt-1;i>=0;i--)
printf("%c",ans[i]);
printf("\n");
}
}