#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;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKQp7CiAgICBpbnQgUDsKICAgIGludCBJVDsKICAgIGNoYXIgTTsKICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgWDsKICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgWTsKICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgQyA9IDA7CiAgICBzdHJpbmcgTjsKICAgIHN0cmluZyBTID0gIiI7CiAgICBzdHJpbmcgQSA9ICIiOwogICAgc3RyaW5nIEIgPSAiIjsKCiAgICBjaW4gPj4gUCA+PiBOOwoKICAgIC8vd2hpbGUgKGNpbiA+PiBQID4+IE4pCiAgICAvL3sKCgoKICAgIGlmIChOLnNpemUoKSAlIFAgIT0gMCkKICAgIHsKICAgICAgICBYID0gKE4uc2l6ZSgpIC8gUCkgKyAxOwoKICAgICAgICBTLmluc2VydChTLmVuZCgpLCAnMScpOwoKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IChQIC0gMSk7IGkrKykKICAgICAgICB7CiAgICAgICAgICAgIFMuaW5zZXJ0KFMuZW5kKCksICcwJyk7CiAgICAgICAgfQoKICAgICAgICBmb3IgKHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgaSA9IDA7IGkgPCBYOyBpKyspCiAgICAgICAgewogICAgICAgICAgICBjb3V0IDw8IFM7CiAgICAgICAgfQoKICAgICAgICBjb3V0IDw8IGVuZGw7CiAgICB9CgogICAgZWxzZQogICAgewogICAgICAgIGJvb2wgQjEgPSBmYWxzZTsgLy8vIFZlcmlmaWNhZG9yIHNlIG8gcHJpbWVpcm8gcGVyw61vZG8gw6kgY29tcG9zdG8gcG9yIDkKICAgICAgICBib29sIEIyID0gZmFsc2U7IC8vLyBWZXJkYWRlIHNlIG8gbsO6bWVybyBwb3NzdWlyIHVtIGRpZ2l0byBkaWZlcmVudGUgZGUgOQoKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IFA7IGkrKykKICAgICAgICB7CiAgICAgICAgICAgIGlmIChOW2ldICE9ICc5JykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYgKEIxID09IHRydWUpIC8vLyBFeGlzdGUgb3V0cm8gZGlnaXRvIGRpZmVyZW50ZSBkZSA5CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU1tJVF0gPSBNOwogICAgICAgICAgICAgICAgICAgIFMuaW5zZXJ0KFMuZW5kKCksIChOW2ldICsgMSkpOwogICAgICAgICAgICAgICAgICAgIElUID0gaTsKICAgICAgICAgICAgICAgICAgICBNID0gTltpXTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBlbHNlIC8vLyBQcmltZWlybyBkaWdpdG8gZGlmZXJlbnRlIGRlIDkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBCMSA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgUy5pbnNlcnQoUy5lbmQoKSwgKE5baV0gKyAxKSk7CiAgICAgICAgICAgICAgICAgICAgSVQgPSBpOwogICAgICAgICAgICAgICAgICAgIE0gPSBOW2ldOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFMuaW5zZXJ0KFMuZW5kKCksIE5baV0pOwogICAgICAgICAgICB9CgogICAgICAgICAgICBBLmluc2VydChBLmVuZCgpLCBOW2ldKTsgLy8vIFN0cmluZyBxdWUgY29udGVtIG8gcGVyaW9kbyBvcmlnaW5hbAoKICAgICAgICB9CgogICAgICAgIGlmIChCMSA9PSBmYWxzZSkgLy8vIEVudHJhIG5lc3NlICdpZicgc2UgbyBwcmltZWlybyBwZXLDrW9kbyBmb3Igc29tZW50ZSA5CiAgICAgICAgewogICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgaSA9IFA7IGkgIT0gTi5zaXplKCk7IGkgKz0gUCkgLy8vIENvbmZlcmlyIHNlIGV4aXN0ZSB1bSBuw7ptZXJvIGRpZmVyZW50ZSBkZSA5IG5vcyBvdXRyb3MgcGVyw61vZG9zCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIEIgPSBOLnN1YnN0cihpLCBQKTsKCiAgICAgICAgICAgICAgICBpZiAoQSAhPSBCKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEIyID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKEIyID09IHRydWUpIC8vLyBFbnRyYSBuZXNzZSAnaWYnIHNlIG8gbsO6bWVybyBwb3NzdWlyIHByaW1laXJvIHBlcmlvZG8gY29tIDksIG1hcyBleGlzdGUgYWxndW0gYWxnYXJpc21vIGRpZmVyZW50ZSBkZSA5CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFggPSBOLnNpemUoKSAvIFA7CgogICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBsb25nIGxvbmcgaW50IGkgPSAwOyBpIDwgWDsgaSsrKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGNvdXQgPDwgQTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBjb3V0IDw8IGVuZGw7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGVsc2UgLy8vIEVudHJhIG5lc3NlICdpZicgc2UgbyBuw7ptZXJvIGZvciBjb21wb3N0byBzb21lbnRlIHBvciA5CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFMgPSAiIjsKICAgICAgICAgICAgICAgIFggPSAoTi5zaXplKCkgLyBQKSArIDE7CgogICAgICAgICAgICAgICAgUy5pbnNlcnQoUy5lbmQoKSwgJzEnKTsKCiAgICAgICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IChQIC0gMSk7IGkrKykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTLmluc2VydChTLmVuZCgpLCAnMCcpOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgbG9uZyBsb25nIGludCBpID0gMDsgaSA8IFg7IGkrKykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjb3V0IDw8IFM7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgY291dCA8PCBlbmRsOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBlbHNlIC8vLyBFbnRyYSBuZXNzZSAnZWxzZScgc29tZW50ZSBzZSBvIHByaW1laXJvIHBlcmlvZG8gcG9zc3VpciB1bSBkaWdpdG8gZGlmZXJlbnRlIGRlIDkKICAgICAgICB7CiAgICAgICAgICAgIFggPSBOLnNpemUoKSAvIFA7CgogICAgICAgICAgICBib29sIEIzID0gZmFsc2U7IC8vLyBWZXJkYWRlIHNlIGV4aXN0aXIgdW0gcGVyaW9kbyBtYWlvciBxdWUgbyBwZXJpb2RvIG9yaWdpbmFsCgogICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgaSA9IFA7IGkgIT0gTi5zaXplKCk7IGkgKz0gUCkgLy8vIFZhaSBjb25mZXJpciBxdWFsIMOpIG8gbWVub3IgcGVyaW9kbyBkbyBuw7ptZXJvCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIEIgPSBOLnN1YnN0cihpLCBQKTsKCiAgICAgICAgICAgICAgICBpZiAoQSA8IEIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQjMgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGVsc2UgaWYgKEEgPT0gQikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBDKys7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICgoQjMgPT0gdHJ1ZSkgb3IgKEMgPT0gKFggLSAxKSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgbG9uZyBsb25nIGludCBpID0gMDsgaSA8IFg7IGkrKykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjb3V0IDw8IFM7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgY291dCA8PCBlbmRsOwogICAgICAgICAgICB9CgogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgbG9uZyBsb25nIGludCBpID0gMDsgaSA8IFg7IGkrKykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjb3V0IDw8IEE7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgY291dCA8PCBlbmRsOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgLy99CgogICAgUyA9ICIiOwogICAgQyA9IDA7CiAgICBCID0gIiI7CiAgICBBID0gIiI7CiAgICB9CgogICAgcmV0dXJuIDA7Cgp9Cg==