int main() { freopen("t.in", "r", stdin); prework(); int TST; scanf("%d", &TST); while ( TST -- ) { int L; ll V; scanf("%d" LL_FMT, &L, &V); if ( V == 0 ) printf("%u\n", HM.find(State(L))); else { int cnt[4]; memset(cnt, 0, sizeof(cnt)); while ( V % 2 == 0 ) V /= 2, cnt[0]++; while ( V % 3 == 0 ) V /= 3, cnt[1]++; while ( V % 5 == 0 ) V /= 5, cnt[2]++; while ( V % 7 == 0 ) V /= 7, cnt[3]++; if ( V != 1 ) printf("0\n"); else { printf("%u\n", HM.find(State(L,cnt[0],cnt[1],cnt[2],cnt[3]))); } } } }
int main() { freopen("t.in", "r", stdin); prework(); int TST; scanf("%d", &TST); while ( TST -- ) { scanf("%d", &n); for ( int i = 0; i < n; i ++ ) for ( int j = 0; j < n; j ++ ) scanf("%d", &a[i][j]); memset(vis, 0, sizeof(vis)); ll ans = 0; for ( int i = 0; i < n; i ++ ) for ( int j = 0; j < n; j ++ ) if ( primeId[a[i][j]] != -1 ) { ans += primeId[a[i][j]]; } else if ( !vis[i][j] ) { if ( a[i][j] & 1 ) ans += a[i][j] / 2 + 2; else ans += a[i][j] / 2; dfs(i, j, a[i][j]&1); } printf(LL_FMT "\n", ans); } }
int main() { prework(); int n; while (scanf("%d", &n) == 1 && n != -1) data[n].print(); return 0; }
int main() { freopen("t.in", "r", stdin); prework(); // check(); int TST; scanf("%d", &TST); while ( TST -- ) { scanf("%d", &K); for ( int i = 0; i < K; i ++ ) { scanf("%d%d", &A[i], &B[i]); } int ans = 0; for ( int d = 1; d <= B[0]; d ++ ) { int acc = phi[d]; for ( int i = 0; i < K; i ++ ) acc = mul(acc, B[i]/d-(A[i]-1)/d); add(ans, acc); } for ( int i = 0; i < K; i ++ ) ans = mul(ans, powMod(B[i]-A[i]+1, kMod-2)); ans = (-ans + kMod) % kMod; printf("%d\n", ans); } }