#include <iostream>
#include <string>
#include <cstdint>
#include <limits>
std::string Radix62(std::uint64_t N){
std::string Char = "0123456789abcdefghijklnmopqrstuvwxyzABCDEFGHIJKLNMOPQRSTUVWXYZ";
std::string Ret;
std::uint32_t Ch = 0;
std::uint32_t Radix = 62;
while (N != 0){
Ch = N%Radix;
N = (N - Ch) / Radix;
Ret = Char[Ch] + Ret;
}
return Ret;
}
int main(){
std::uint64_t N = std::numeric_limits<std::uint64_t>::max();
auto R = Radix62(N);
std::cout << N << "==" << R << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8Y3N0ZGludD4KI2luY2x1ZGUgPGxpbWl0cz4Kc3RkOjpzdHJpbmcgUmFkaXg2MihzdGQ6OnVpbnQ2NF90IE4pewoJc3RkOjpzdHJpbmcgQ2hhciA9ICIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbm1vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xOTU9QUVJTVFVWV1hZWiI7CglzdGQ6OnN0cmluZyBSZXQ7CglzdGQ6OnVpbnQzMl90IENoID0gMDsKCXN0ZDo6dWludDMyX3QgUmFkaXggPSA2MjsKCXdoaWxlIChOICE9IDApewoJCUNoID0gTiVSYWRpeDsKCQlOID0gKE4gLSBDaCkgLyBSYWRpeDsKCQlSZXQgPSBDaGFyW0NoXSArIFJldDsKCX0KCXJldHVybiBSZXQ7Cn0KCgoKaW50IG1haW4oKXsKCglzdGQ6OnVpbnQ2NF90IE4gPSBzdGQ6Om51bWVyaWNfbGltaXRzPHN0ZDo6dWludDY0X3Q+OjptYXgoKTsKCglhdXRvIFIgPSBSYWRpeDYyKE4pOwoKCXN0ZDo6Y291dCA8PCBOIDw8ICI9PSIgPDwgUiA8PCBzdGQ6OmVuZGw7CgoJcmV0dXJuIDA7Cn0=