def count(n): a=0 num=str(bin(n)) ln=len(num) for i in range(ln): if num[i]=='1': a+=1 return a def minus(m,i): n=m[i] if i==0: return -1 if (str(n-count(n)) in str(m))==False: return n-count(n) else: return minus(m,i-1) def sugoroku(N): p=[] p.append(1) i=0 if N==1: return 0 while 1>0: if p[i]+count(p[i])==N: return i+1+1 elif p[i]+count(p[i])