//这是一个小技巧,用此可直接得出数字x的位数
int k=log10(x)+1;
从n+1开始判断每个数字是否符合,符合即输出,程序结束。
/*
ID:xsy97051
LANG:C++
TASK:runround
*/
#include <cstdio>
#include <cstring>
#include <cmath>
#include <iostream>
using namespace std;
int n,q[10000],vis[20];
int bis[20];
int pan(long long x)
{
memset(vis,0,sizeof(vis));
memset(bis,0,sizeof(bis));
int k=log10(x)+1;
int kk=1;
while(x>0)
{
if(!(x%10)) return 0;
q[k-kk]=x%10;
kk++;
x/=10;
}
for(int i=0;i<k;i++)
vis[q[i]]++;
for(int i=1;i<10;i++)
if(vis[i]>1) return 0;
int qian=0,hou=k;
for(int i=0;i<k;i++)
{
int j=q[qian];
bis[j]++;
if(bis[j]>1) return 0;
qian=(qian+j)%k;
}
if(qian!=0) return 0;
return 1;
}
int main()
{
freopen("runround.in","r",stdin);
freopen("runround.out","w",stdout);
cin>>n;
for(int i=n+1;;i++)
if(pan(i))
{
cout<<i<<endl;
return 0;
}
}