#include<stdio.h>
#include<string.h>
int main()
{
char arr[100001];
int i,dp[10],temp[10];
for(i = 0;i<10;i++)
dp[i] = 100001;
int flag = 1;
int jump = 0;
while(flag==1)
{
for(i = 0;i<10;i++)
temp[i] = dp[i];
jump = 0;
flag = 0;
for(i = l-1;i>=0;i--)
{
if(dp[arr[i]-48]==100001)
dp[arr[i]-48] = jump;
else
{
int value = dp[arr[i]-48]+1;
if(jump>=value)
jump = value;
else
dp[arr[i]-48] = jump;
int tjump = jump+1;
int k = 1;
while(dp[arr[i+k]-48]>tjump)
{
dp[arr[i+k]-48] = tjump;
tjump++;
k++;
}
}
jump++;
}
for(i = 0;i<10;i++)
if(temp[i] != dp[i])
{
flag = 1;
break;
}
//for(i = 0;i<10;i++)
//printf("%d ",dp[i]);
//printf("\n");
}
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RyaW5nLmg+CmludCBtYWluKCkKewogICAgY2hhciBhcnJbMTAwMDAxXTsKICAgIGdldHMoYXJyKTsKICAgIGludCBpLGRwWzEwXSx0ZW1wWzEwXTsKICAgIGZvcihpID0gMDtpPDEwO2krKykKICAgICAgICBkcFtpXSA9IDEwMDAwMTsKICAgIGludCBsID0gc3RybGVuKGFycik7CiAgICBpbnQgZmxhZyA9IDE7CiAgICBpbnQganVtcCA9IDA7CiAgICB3aGlsZShmbGFnPT0xKQogICAgewogICAgICAgIGZvcihpID0gMDtpPDEwO2krKykKICAgICAgICB0ZW1wW2ldID0gZHBbaV07CiAgICAgICAganVtcCA9IDA7CiAgICAgICAgZmxhZyA9IDA7CiAgICAgICAgZm9yKGkgPSBsLTE7aT49MDtpLS0pCiAgICAgICAgewogICAgICAgICAgICBpZihkcFthcnJbaV0tNDhdPT0xMDAwMDEpCiAgICAgICAgICAgICAgICBkcFthcnJbaV0tNDhdID0ganVtcDsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpbnQgdmFsdWUgPSBkcFthcnJbaV0tNDhdKzE7CiAgICAgICAgICAgICAgICBpZihqdW1wPj12YWx1ZSkKICAgICAgICAgICAgICAgICAgICBqdW1wID0gdmFsdWU7CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgZHBbYXJyW2ldLTQ4XSA9IGp1bXA7CiAgICAgICAgICAgICAgICBpbnQgdGp1bXAgPSBqdW1wKzE7CiAgICAgICAgICAgICAgICBpbnQgayA9IDE7CiAgICAgICAgICAgICAgICB3aGlsZShkcFthcnJbaStrXS00OF0+dGp1bXApCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgZHBbYXJyW2kra10tNDhdID0gdGp1bXA7CiAgICAgICAgICAgICAgICAgICAgdGp1bXArKzsKICAgICAgICAgICAgICAgICAgICBrKys7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICB9CiAgICAgICAgICAgIGp1bXArKzsKICAgICAgICB9CiAgICAgICAgICAgZm9yKGkgPSAwO2k8MTA7aSsrKQogICAgICAgICAgICAgaWYodGVtcFtpXSAhPSBkcFtpXSkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBmbGFnID0gMTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgICAvL2ZvcihpID0gMDtpPDEwO2krKykKICAgICAgICAgICAgLy9wcmludGYoIiVkICIsZHBbaV0pOwogICAgICAgICAgICAvL3ByaW50ZigiXG4iKTsKCiAgICB9CiAgICBwcmludGYoIiVkIixqdW1wLTEpOwoKICAgIHJldHVybiAwOwp9Cg==