#include<stdio.h>
#include<math.h>
#include<limits.h>
int lv = 1;
int i = 1;
int retNum = 0;
//桁数lvの整数mの、10^(n-1)の位の数を求める関数
int Jrank(long int m,int n,int lv){
long int Numb = m;
long int temp[lv-n+1];
for(int i=0;i<lv-n;i++){
temp[i]=0;
}
temp[0] =m;
for(int i=1;i <= (lv-n);i++){
temp
[i
]=Jrank
(m
,lv
-i
+1,lv
)*pow(10,lv
-i
); Numb = Numb - temp[i];
}
}
////////////////////////////////////////////////
int g(long int n){
//桁数を調べる////////////////////////////////
int i = 1;
int lv=1;
while(1){
lv = i;
break;
}
else{
i++;
}
}
int revNum[lv];
int Num[lv];
for(int i=0;i<lv;i++){
revNum[i]=0;
Num[i]=0;
}
//////////////////////////////////////////////
for(int i=0;i<lv;i++){
Num[i]=Jrank(n,lv-i,lv);
}///ex)n=3456の時、Num[0]=3,Num[1]=4,Num[2]=5,Num[3]=6
for(int i=0;i<lv;i++){
revNum[i]=Num[lv-i-1];
}
for(int i=0;i<lv;i++){
retNum
= retNum
+ revNum
[i
]*pow(10,lv
-i
-1);}
return retNum;
}
int main(){
int n;
n=g(12345000);
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8bWF0aC5oPgojaW5jbHVkZTxsaW1pdHMuaD4KaW50IGx2ID0gMTsKaW50IGkgPSAxOwppbnQgcmV0TnVtID0gMDsKCgovL+ahgeaVsGx244Gu5pW05pWwbeOBruOAgTEwXihuLTEp44Gu5L2N44Gu5pWw44KS5rGC44KB44KL6Zai5pWwCmludCBKcmFuayhsb25nIGludCBtLGludCBuLGludCBsdil7CiAgbG9uZyBpbnQgTnVtYiA9IG07CiAgbG9uZyBpbnQgdGVtcFtsdi1uKzFdOwogIGZvcihpbnQgaT0wO2k8bHYtbjtpKyspewogICAgdGVtcFtpXT0wOwogIH0KCiAgdGVtcFswXSA9bTsKICBmb3IoaW50IGk9MTtpIDw9IChsdi1uKTtpKyspewogICAgIHRlbXBbaV09SnJhbmsobSxsdi1pKzEsbHYpKnBvdygxMCxsdi1pKTsKICAgICBOdW1iID0gTnVtYiAtIHRlbXBbaV07Cn0KcmV0dXJuIGZsb29yKCBOdW1iL3BvdygxMCxuLTEpICk7Cn0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKaW50IGcobG9uZyBpbnQgbil7CgoKLy/moYHmlbDjgpLoqr/jgbnjgosvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIGludCBpID0gMTsKICBpbnQgbHY9MTsKICB3aGlsZSgxKXsKICAgIGlmKCAobiAvIHBvdygxMCxpKSk8MSl7CiAgICAgIGx2ID0gaTsKICAgICAgIGJyZWFrOwogICAgfQogICAgZWxzZXsKICAgICAgaSsrOwogICAgfQogIH0KICBpbnQgcmV2TnVtW2x2XTsKICBpbnQgTnVtW2x2XTsKICBmb3IoaW50IGk9MDtpPGx2O2krKyl7CiAgICByZXZOdW1baV09MDsKICAgIE51bVtpXT0wOwogIH0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIGZvcihpbnQgaT0wO2k8bHY7aSsrKXsKICAgIE51bVtpXT1KcmFuayhuLGx2LWksbHYpOwogICAgCiAgfS8vL2V4KW49MzQ1NuOBruaZguOAgU51bVswXT0zLE51bVsxXT00LE51bVsyXT01LE51bVszXT02CgoKZm9yKGludCBpPTA7aTxsdjtpKyspewpyZXZOdW1baV09TnVtW2x2LWktMV07Cn0KCmZvcihpbnQgaT0wO2k8bHY7aSsrKXsKcmV0TnVtID0gcmV0TnVtICsgcmV2TnVtW2ldKnBvdygxMCxsdi1pLTEpOwp9CgoKCgoKcmV0dXJuIHJldE51bTsKfQoKaW50IG1haW4oKXsKaW50IG47Cm49ZygxMjM0NTAwMCk7CgpwcmludGYoIiVkIixuKTsKCnJldHVybiAwOwp9