#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#define N_MAX 52
int64_t pascal_triangle[N_MAX + 1][N_MAX + 1] = {{0}};
void init()
{
int i, j;
for (i = 0; i < N_MAX + 1; i++) {
pascal_triangle[i][0] = 1;
for (j = 1; j <= i; j++) {
pascal_triangle[i][j] = pascal_triangle[i-1][j-1] + pascal_triangle[i-1][j];
}
}
}
int64_t ncr(int n, int r)
{
if (0 <= n && n <= N_MAX &&
0 <= r && r <= N_MAX) {
return pascal_triangle[n][r];
}
return 0;
}
int main()
{
int64_t ncr_value;
int n = 52, r = 26;
init();
ncr_value = ncr(n, r);
if (ncr_value == 0) {
fprintf(stderr, "パラメータ不正 n : %d r : %d\n", n, r);
return EXIT_SUCCESS;
}
printf("%dC%d %lld\n", n, r, ncr_value);
return EXIT_SUCCESS;
}