def Gauss(n):
return((n*(3*n+7)//2)+2)
def busquedabinaria(n):
return busquedabi(n,0,n)
def busquedabi(n,ini,fin):
m =((ini+fin)//2)
if n < 2: return None
if Gauss(m) > n: return busquedabi(n,ini,m)
if Gauss(m) < n and Gauss(m+1) > n: print(m) and busquedabi(n-Gauss(m),ini,fin-Gauss(m))
else: return busquedabi(n,m,fin)
print(busquedabinaria(10000000000000000000))
ZGVmIEdhdXNzKG4pOgoJcmV0dXJuKChuKigzKm4rNykvLzIpKzIpCmRlZiBidXNxdWVkYWJpbmFyaWEobik6IAoJcmV0dXJuIGJ1c3F1ZWRhYmkobiwwLG4pCmRlZiBidXNxdWVkYWJpKG4saW5pLGZpbik6IAoJbSA9KChpbmkrZmluKS8vMikKCWlmIG4gPCAyOiByZXR1cm4gTm9uZQoJaWYgR2F1c3MobSkgPiAgbjogcmV0dXJuIGJ1c3F1ZWRhYmkobixpbmksbSkKCWlmIEdhdXNzKG0pIDwgbiBhbmQgR2F1c3MobSsxKSA+IG46IHByaW50KG0pIGFuZCBidXNxdWVkYWJpKG4tR2F1c3MobSksaW5pLGZpbi1HYXVzcyhtKSkKCWVsc2U6IHJldHVybiBidXNxdWVkYWJpKG4sbSxmaW4pCnByaW50KGJ1c3F1ZWRhYmluYXJpYSgxMDAwMDAwMDAwMDAwMDAwMDAwMCkp