Currently the NTT code seems to be using any primitive root, while it should be using a (2^k)-th root of unity. Check if this is indeed a bug, then fix it, and test it.
These can be asked from the user during registering phase or in a separate settings page.
Codeforces and codechef profile pages can be used to extract solved problems of the user as well. Topcoder se…