#include <stdio.h>
#include <math.h>
double zxd(int n, int m);
double dxz(int n, int m);
int main()
{
int m, n;
while (scanf("%d %d",&m,&n)!=EOF)
{
double y = zxd(m, n);
double z = dxz(m, n);
printf("%.0lf %.0lf\n",y, z);
}
}
double zxd(int n, int m)
{
double a = 1, b = 1, sum1;
int i;
for(i = 1 ; i <= n ; i++)
{
a = a*i;
}
for(i = 1 ; i <= n-m; i++)
{
b = b*i;
}
sum1 = a/b;
return sum1;
}
double dxz (int n, int m)
{
double a = 1, b = 1, c = 1, sum2;
int i;
for(i = 1 ; i <= n ; i++)
{
a = a*i;
}
for(i = 1 ; i <= n-m; i++)
{
b = b*i;
}
for(i = 1 ; i <= m ; i++)
{
c = c*i;
}
sum2 =a/(b*c);
return sum2;
}