import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        // 標準入力を受け取る
        Scanner scanner = new Scanner(System.in);
        int N = scanner.nextInt();

        while (true){
            // Nの桁数
            int l = String.valueOf(N).length();
            // Nの一の位の数
            int x = N % 10;
            // 全ての桁の数が同じであるフラグ
            boolean correct_flg = true;
            // Nの十の位以降の数を取得し、xと比較する
            for (int i = 2; i <= l; i++) {
                // Nのある桁の数
                int y = (N % (int) Math.pow(10, i)) / (int) Math.pow(10, i-1);
                // xと等しくない => 全ての桁の数が等しい数ではない
                if (x != y) {
                    correct_flg = false;
                    break; // これ以降の桁の数を調べる必要がない
                }
            }
            // correct_flgがtrue => 全ての桁の数が等しい
            if (correct_flg) {
                break; // ループを抜ける
            }
            // correct_flgがfalse => Nに1を足して次のループへ
            else {
                N++;
            }
        }
        
        // 全ての桁の数が等しくなったNを標準出力
        System.out.println(N);

    }

} import java.util.Scanner; Scanner java.util public class Main {

    public static void main(String[] args) {
        // 標準入力を受け取る
        Scanner scanner = new Scanner(System.in);
        int N = scanner.nextInt();

        while (true){
            // Nの桁数
            int l = String.valueOf(N).length();
            // Nの一の位の数
            int x = N % 10;
            // 全ての桁の数が同じであるフラグ
            boolean correct_flg = true;
            // Nの十の位以降の数を取得し、xと比較する
            for (int i = 2; i <= l; i++) {
                // Nのある桁の数
                int y = (N % (int) Math.pow(10, i)) / (int) Math.pow(10, i-1);
                // xと等しくない => 全ての桁の数が等しい数ではない
                if (x != y) {
                    correct_flg = false;
                    break; // これ以降の桁の数を調べる必要がない
                }
            }
            // correct_flgがtrue => 全ての桁の数が等しい
            if (correct_flg) {
                break; // ループを抜ける
            }
            // correct_flgがfalse => Nに1を足して次のループへ
            else {
                N++;
            }
        }
        
        // 全ての桁の数が等しくなったNを標準出力
        System.out.println(N);

    }

} Main public static void main(String[] args) {
        // 標準入力を受け取る
        Scanner scanner = new Scanner(System.in);
        int N = scanner.nextInt();

        while (true){
            // Nの桁数
            int l = String.valueOf(N).length();
            // Nの一の位の数
            int x = N % 10;
            // 全ての桁の数が同じであるフラグ
            boolean correct_flg = true;
            // Nの十の位以降の数を取得し、xと比較する
            for (int i = 2; i <= l; i++) {
                // Nのある桁の数
                int y = (N % (int) Math.pow(10, i)) / (int) Math.pow(10, i-1);
                // xと等しくない => 全ての桁の数が等しい数ではない
                if (x != y) {
                    correct_flg = false;
                    break; // これ以降の桁の数を調べる必要がない
                }
            }
            // correct_flgがtrue => 全ての桁の数が等しい
            if (correct_flg) {
                break; // ループを抜ける
            }
            // correct_flgがfalse => Nに1を足して次のループへ
            else {
                N++;
            }
        }
        
        // 全ての桁の数が等しくなったNを標準出力
        System.out.println(N);

    } main {
        // 標準入力を受け取る
        Scanner scanner = new Scanner(System.in);
        int N = scanner.nextInt();

        while (true){
            // Nの桁数
            int l = String.valueOf(N).length();
            // Nの一の位の数
            int x = N % 10;
            // 全ての桁の数が同じであるフラグ
            boolean correct_flg = true;
            // Nの十の位以降の数を取得し、xと比較する
            for (int i = 2; i <= l; i++) {
                // Nのある桁の数
                int y = (N % (int) Math.pow(10, i)) / (int) Math.pow(10, i-1);
                // xと等しくない => 全ての桁の数が等しい数ではない
                if (x != y) {
                    correct_flg = false;
                    break; // これ以降の桁の数を調べる必要がない
                }
            }
            // correct_flgがtrue => 全ての桁の数が等しい
            if (correct_flg) {
                break; // ループを抜ける
            }
            // correct_flgがfalse => Nに1を足して次のループへ
            else {
                N++;
            }
        }
        
        // 全ての桁の数が等しくなったNを標準出力
        System.out.println(N);

    } Scanner scanner = new Scanner(System.in); scanner new Scanner(System.in) int N = scanner.nextInt(); N scanner.nextInt() scanner.nextInt scanner while (true){
            // Nの桁数
            int l = String.valueOf(N).length();
            // Nの一の位の数
            int x = N % 10;
            // 全ての桁の数が同じであるフラグ
            boolean correct_flg = true;
            // Nの十の位以降の数を取得し、xと比較する
            for (int i = 2; i <= l; i++) {
                // Nのある桁の数
                int y = (N % (int) Math.pow(10, i)) / (int) Math.pow(10, i-1);
                // xと等しくない => 全ての桁の数が等しい数ではない
                if (x != y) {
                    correct_flg = false;
                    break; // これ以降の桁の数を調べる必要がない
                }
            }
            // correct_flgがtrue => 全ての桁の数が等しい
            if (correct_flg) {
                break; // ループを抜ける
            }
            // correct_flgがfalse => Nに1を足して次のループへ
            else {
                N++;
            }
        } true {
            // Nの桁数
            int l = String.valueOf(N).length();
            // Nの一の位の数
            int x = N % 10;
            // 全ての桁の数が同じであるフラグ
            boolean correct_flg = true;
            // Nの十の位以降の数を取得し、xと比較する
            for (int i = 2; i <= l; i++) {
                // Nのある桁の数
                int y = (N % (int) Math.pow(10, i)) / (int) Math.pow(10, i-1);
                // xと等しくない => 全ての桁の数が等しい数ではない
                if (x != y) {
                    correct_flg = false;
                    break; // これ以降の桁の数を調べる必要がない
                }
            }
            // correct_flgがtrue => 全ての桁の数が等しい
            if (correct_flg) {
                break; // ループを抜ける
            }
            // correct_flgがfalse => Nに1を足して次のループへ
            else {
                N++;
            }
        } int l = String.valueOf(N).length(); l String.valueOf(N).length() String.valueOf(N).length String.valueOf(N) String.valueOf String N int x = N % 10; x N % 10 N 10 boolean correct_flg = true; correct_flg true for (int i = 2; i <= l; i++) {
                // Nのある桁の数
                int y = (N % (int) Math.pow(10, i)) / (int) Math.pow(10, i-1);
                // xと等しくない => 全ての桁の数が等しい数ではない
                if (x != y) {
                    correct_flg = false;
                    break; // これ以降の桁の数を調べる必要がない
                }
            } int i = 2; int i = 2; i 2 i <= l i l i++ i++ i {
                // Nのある桁の数
                int y = (N % (int) Math.pow(10, i)) / (int) Math.pow(10, i-1);
                // xと等しくない => 全ての桁の数が等しい数ではない
                if (x != y) {
                    correct_flg = false;
                    break; // これ以降の桁の数を調べる必要がない
                }
            } {
                // Nのある桁の数
                int y = (N % (int) Math.pow(10, i)) / (int) Math.pow(10, i-1);
                // xと等しくない => 全ての桁の数が等しい数ではない
                if (x != y) {
                    correct_flg = false;
                    break; // これ以降の桁の数を調べる必要がない
                }
            } int y = (N % (int) Math.pow(10, i)) / (int) Math.pow(10, i-1); y (N % (int) Math.pow(10, i)) / (int) Math.pow(10, i-1) (N % (int) Math.pow(10, i)) N (int) Math.pow(10, i) Math.pow Math 10 i (int) Math.pow(10, i-1) Math.pow Math 10 i-1 i 1 if (x != y) {
                    correct_flg = false;
                    break; // これ以降の桁の数を調べる必要がない
                } x != y x y {
                    correct_flg = false;
                    break; // これ以降の桁の数を調べる必要がない
                } correct_flg = false correct_flg false break; // これ以降の桁の数を調べる必要がない if (correct_flg) {
                break; // ループを抜ける
            }
            // correct_flgがfalse => Nに1を足して次のループへ
            else {
                N++;
            } correct_flg {
                break; // ループを抜ける
            } break; // ループを抜ける {
                N++;
            } N++ N System.out.println(N) System.out.println System.out System System.out N String[] args args public class Main {

    public static void main(String[] args) {
        // 標準入力を受け取る
        Scanner scanner = new Scanner(System.in);
        int N = scanner.nextInt();

        while (true){
            // Nの桁数
            int l = String.valueOf(N).length();
            // Nの一の位の数
            int x = N % 10;
            // 全ての桁の数が同じであるフラグ
            boolean correct_flg = true;
            // Nの十の位以降の数を取得し、xと比較する
            for (int i = 2; i <= l; i++) {
                // Nのある桁の数
                int y = (N % (int) Math.pow(10, i)) / (int) Math.pow(10, i-1);
                // xと等しくない => 全ての桁の数が等しい数ではない
                if (x != y) {
                    correct_flg = false;
                    break; // これ以降の桁の数を調べる必要がない
                }
            }
            // correct_flgがtrue => 全ての桁の数が等しい
            if (correct_flg) {
                break; // ループを抜ける
            }
            // correct_flgがfalse => Nに1を足して次のループへ
            else {
                N++;
            }
        }
        
        // 全ての桁の数が等しくなったNを標準出力
        System.out.println(N);

    }

} public class Main {

    public static void main(String[] args) {
        // 標準入力を受け取る
        Scanner scanner = new Scanner(System.in);
        int N = scanner.nextInt();

        while (true){
            // Nの桁数
            int l = String.valueOf(N).length();
            // Nの一の位の数
            int x = N % 10;
            // 全ての桁の数が同じであるフラグ
            boolean correct_flg = true;
            // Nの十の位以降の数を取得し、xと比較する
            for (int i = 2; i <= l; i++) {
                // Nのある桁の数
                int y = (N % (int) Math.pow(10, i)) / (int) Math.pow(10, i-1);
                // xと等しくない => 全ての桁の数が等しい数ではない
                if (x != y) {
                    correct_flg = false;
                    break; // これ以降の桁の数を調べる必要がない
                }
            }
            // correct_flgがtrue => 全ての桁の数が等しい
            if (correct_flg) {
                break; // ループを抜ける
            }
            // correct_flgがfalse => Nに1を足して次のループへ
            else {
                N++;
            }
        }
        
        // 全ての桁の数が等しくなったNを標準出力
        System.out.println(N);

    }

} Main
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        // 標準入力を受け取る
        Scanner scanner = new Scanner(System.in);
        int N = scanner.nextInt();

        while (true){
            // Nの桁数
            int l = String.valueOf(N).length();
            // Nの一の位の数
            int x = N % 10;
            // 全ての桁の数が同じであるフラグ
            boolean correct_flg = true;
            // Nの十の位以降の数を取得し、xと比較する
            for (int i = 2; i <= l; i++) {
                // Nのある桁の数
                int y = (N % (int) Math.pow(10, i)) / (int) Math.pow(10, i-1);
                // xと等しくない => 全ての桁の数が等しい数ではない
                if (x != y) {
                    correct_flg = false;
                    break; // これ以降の桁の数を調べる必要がない
                }
            }
            // correct_flgがtrue => 全ての桁の数が等しい
            if (correct_flg) {
                break; // ループを抜ける
            }
            // correct_flgがfalse => Nに1を足して次のループへ
            else {
                N++;
            }
        }
        
        // 全ての桁の数が等しくなったNを標準出力
        System.out.println(N);

    }

}