ex5 + move to uint64_t
ex5 + move to uint64_t