public class Main {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int n=in.nextInt();
for(int i =n;i<=10000;i++){
if(istrue(i)){
System.out.println(i);
break;
}
}
} public static boolean istrue(int n){
int[] nums = new int[10];
for(int i = 0;i<=9;i++){
nums[i] =0;
}
int n1= n%10;
if(nums[n1]!=0){
return false;
}else{
nums[n1]++;
}
n/=10;
int n2= n%10;
if(nums[n2]!=0){
return false;
}else{
nums[n2]++;
}
n/=10;
int n3=n%10;
if(nums[n3]!=0){
return false;
}else{
nums[n3]++;
}
n/=10;
int n4=n;
if(nums[n4]!=0){
return false;
}else{
nums[n4]++;
}
return true;
}
第一题一直百分之10 第二题还好
public class Main{
public static boolean isBeautifulNum(int n){
boolean[] t = new boolean[10];
char[] c = String.valueOf(n).toCharArray();
for (int i = 0; i < c.length; i++){
if(t[c[i]-'0'] == true){
return false;
}
t[c[i]-'0'] = true;
}
return true;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
if(1000 > n && n > 9000){
System.out.println("-1");
}
for (int i = n + 1; n <= 9000; i++) {
if(isBeautifulNum(i)){
System.out.println(i);
break;
}
}
sc.close();
}
}