Pagini recente » Cod sursa (job #3041647) | Cod sursa (job #1073578) | Cod sursa (job #2377335) | Cod sursa (job #163554) | Cod sursa (job #2565332)
#include <bits/stdc++.h>
#define mod 9973
using namespace std;
ifstream fin ("ssnd.in");
ofstream fout ("ssnd.out");
long long nr = 1 , sum = 1 , n ;
long long exponentiere( int x , int p )
{
if( p == 1 )
return x ;
if( p % 2 == 0 )
{
long long t = exponentiere( x , p / 2 ) ;
return ( 1LL * t * t ) % mod ;
}
else
{
long long t = exponentiere( x , p / 2 ) ;
return ( ( 1LL * t * t ) % mod ) * x % mod ;
}
}
long long invers ( int x )
{
return exponentiere( x , mod - 2 ) ;
}
void desc( long long x )
{
long long ct , d = 2 , p ;
while( x != 1 )
{
p = 1;
ct = 0 ;
while( x % d == 0 )
{
x/=d;
p = ( p * d ) % mod ;
ct ++ ;
}
if( ct >= 0 )
{
nr = ( nr * ( ct + 1 ) ) % mod ;
p = ( p * d ) % mod ;
p = p - 1 ;
sum *= ( p * invers( d - 1 ) ) % mod ;
}
d++;
if( d * d > x )
d = x ;
}
}
int main()
{ int x ;
fin >> n;
for ( int i = 1 ; i <= n ; i ++ )
{
fin >> x;
desc( x ) ;
fout << nr << " " << sum << "\n" ;
sum = 1 ;
nr = 1 ;
}
return 0;
}