#include <bits/stdc++.h>

using namespace std;

int main()
{
    int P;
    int IT;
    char M;
    unsigned long long int X;
    unsigned long long int Y;
    unsigned long long int C = 0;
    string N;
    string S = "";
    string A = "";
    string B = "";

    cin >> P >> N;

    //while (cin >> P >> N)
    //{



    if (N.size() % P != 0)
    {
        X = (N.size() / P) + 1;

        S.insert(S.end(), '1');

        for (int i = 0; i < (P - 1); i++)
        {
            S.insert(S.end(), '0');
        }

        for (unsigned long long int i = 0; i < X; i++)
        {
            cout << S;
        }

        cout << endl;
    }

    else
    {
        bool B1 = false; /// Verificador se o primeiro período é composto por 9
        bool B2 = false; /// Verdade se o número possuir um digito diferente de 9

        for (int i = 0; i < P; i++)
        {
            if (N[i] != '9')
            {
                if (B1 == true) /// Existe outro digito diferente de 9
                {
                    S[IT] = M;
                    S.insert(S.end(), (N[i] + 1));
                    IT = i;
                    M = N[i];
                }

                else /// Primeiro digito diferente de 9
                {
                    B1 = true;
                    S.insert(S.end(), (N[i] + 1));
                    IT = i;
                    M = N[i];
                }
            }

            else
            {
                S.insert(S.end(), N[i]);
            }

            A.insert(A.end(), N[i]); /// String que contem o periodo original

        }

        if (B1 == false) /// Entra nesse 'if' se o primeiro período for somente 9
        {
            for (unsigned long long int i = P; i != N.size(); i += P) /// Conferir se existe um número diferente de 9 nos outros períodos
            {
                B = N.substr(i, P);

                if (A != B)
                {
                    B2 = true;
                    break;
                }
            }

            if (B2 == true) /// Entra nesse 'if' se o número possuir primeiro periodo com 9, mas existe algum algarismo diferente de 9
            {
                X = N.size() / P;

                for (unsigned long long int i = 0; i < X; i++)
                {
                    cout << A;
                }

                cout << endl;
            }

            else /// Entra nesse 'if' se o número for composto somente por 9
            {
                S = "";
                X = (N.size() / P) + 1;

                S.insert(S.end(), '1');

                for (int i = 0; i < (P - 1); i++)
                {
                    S.insert(S.end(), '0');
                }

                for (unsigned long long int i = 0; i < X; i++)
                {
                    cout << S;
                }

                cout << endl;
            }
        }

        else /// Entra nesse 'else' somente se o primeiro periodo possuir um digito diferente de 9
        {
            X = N.size() / P;

            bool B3 = false; /// Verdade se existir um periodo maior que o periodo original

            for (unsigned long long int i = P; i != N.size(); i += P) /// Vai conferir qual é o menor periodo do número
            {
                B = N.substr(i, P);

                if (A < B)
                {
                    B3 = true;
                    break;
                }

                else if (A == B)
                {
                    C++;
                }
            }

            if ((B3 == true) or (C == (X - 1)))
            {
                for (unsigned long long int i = 0; i < X; i++)
                {
                    cout << S;
                }

                cout << endl;
            }

            else
            {
                for (unsigned long long int i = 0; i < X; i++)
                {
                    cout << A;
                }

                cout << endl;
            }
        }
    //}

    S = "";
    C = 0;
    B = "";
    A = "";
    }

    return 0;

}
