http://www.lydsy.com/JudgeOnline/problem.php?id=1041
科普一下高斯素数以及复平面那一套理论https://www.bilibili.com/video/av3372382/#page=52
以及勾股数可视化 https://www.bilibili.com/video/av12133637/
#include<cstdio>
#include<cmath>
typedef long long ll;
ll x;
int ans,cnt;
int main(){
scanf("%lld",&x);
ans=1;
for(register int i=2;1ll*i*i<=x;++i){
cnt=0;
while(x%i==0){
x/=i;
if(i%4==1)
++cnt;
}
ans*=(cnt*2+1);
}
if(x%4==1&&x!=1)
ans*=3;
printf("%d\n",ans*4);
return 0;
}