Cod sursa(job #868913)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define N 200
#define MODULO 98999
static int s[N + 1][N + 1], S[N + 1][N + 1];
int main(int argc, char **argv) {
freopen("stirling.in", "r", stdin);
freopen("stirling.out", "w", stdout);
memset(s, 0, sizeof(s));
memset(S, 0, sizeof(S));
s[1][1] = 1;
S[1][1] = 1;
for (int i = 2; i <= N; i++) {
for (int j = 1; j <= i; j++) {
s[i][j] = (s[i - 1][j - 1] - (i - 1) * s[i - 1][j]) % MODULO;
S[i][j] = (S[i - 1][j - 1] + j * S[i - 1][j]) % MODULO;
}
}
int T, i;
scanf("%d\n", &T);
for (i = 0; i < T; i++) {
int x, n, m;
scanf("%d %d %d\n", &x, &n, &m);
if (x == 1) {
printf("%d\n", s[n][m]);
}
else if (x == 2) {
printf("%d\n", S[n][m]);
}
}
return 0;
}