Pagini recente » Cod sursa (job #2842865) | Cod sursa (job #2026816) | Cod sursa (job #570009) | Cod sursa (job #221688) | Cod sursa (job #1317049)
#include <cstdio>
#define LL long long
using namespace std;
struct VAR
{
LL nrd,sd;
}k;
void magic (LL n,VAR& ans)
{
ans.nrd = 1;
ans.sd=1;
LL div = 2;
LL exp = 0;
LL aux = 0;
while(div*div<=n)
{
exp = 0;
aux = 1;
while(n%div==0)
{
n/=div;
aux*=div;
++exp;
}
if(exp)
{
aux*=div;
aux = (aux-1)/(div-1);
ans.nrd = ans.nrd * (exp+1);
ans.sd = ans.sd * aux;
}
++div;
}
if(n>1)
{
div = n;
aux = n*n;
aux = (aux-1)/(div-1);
ans.nrd = ans.nrd * 2;
ans.sd = ans.sd * aux;
}
}
int main()
{
freopen ("ssnd.in","r",stdin);
freopen ("ssnd.out","w",stdout);
LL t,n;
scanf("%lld",&t);
for(int i = 1;i<=t;++i)
{
scanf("%lld",&n);
k.sd=1;
k.nrd=1;
magic(n,k);
printf("%lld %lld\n",k.nrd,k.sd);
}
return 0;
}