Pagini recente » Cod sursa (job #186401) | Cod sursa (job #1101347) | Cod sursa (job #528188) | Cod sursa (job #1412279) | Cod sursa (job #3147323)
#include <stdio.h>
#define magic_sauce inline __attribute__((always_inline))
using ll = long long;
// jur ca daca testele sunt facute sa pice chestia asta vin personal sa le livrez o palma peste fata
const int MOD = 9973;
magic_sauce int mmod( int a, int b ){ return a * b % MOD; }
void test( FILE *fin, FILE *fout ){
ll n;
int ndiv = 1, d, sdiv = 1, exp, pp, spp;
fscanf( fin, "%lld", &n );
d = 2;
while( ((ll)d * d) <= n ){
if( n % d == 0 ){
exp = 0;
spp = pp = 1;
while( n % d == 0 ){
exp++;
pp = mmod( pp, d );
spp += pp;
n /= d;
}
spp %= MOD;
ndiv *= (1 + exp);
sdiv = mmod( sdiv, spp );
}
d++;
}
if( n > 1 ){
ndiv *= 2;
sdiv = mmod( sdiv, (n % MOD) + 1 );
}
fprintf( fout, "%d %d\n", ndiv, sdiv );
}
int main(){
FILE *fin = fopen( "ssnd.in", "r" );
FILE *fout = fopen( "ssnd.out", "w" );
int t;
for( fscanf( fin, "%d", &t ) ; t-- ; )
test( fin, fout );
fclose( fin );
fclose( fout );
return 0;
}