#include<iostream>
using namespace std;
//用三个递归可轻易解决
int ride(int n)//阶乘的递归
{
if(n == 1)
return 1;
else
return n * ride(n - 1);
}
int y1(int n)
{
if(n == 1)
return 1;
else
return ride(n) + y1(n - 2);
}
int y2(int n)
{
if(n == 2)
return 2;
else
return ride(n) + y2(n - 2);
}
int main(void)
{
int n;
while(cin >> n)
{
if(n % 2 == 0)
{
cout << y1(n - 1) << ' ';
cout << y2(n) << endl;
}
else
{
cout << y1(n) << ' ';
cout << y2(n - 1) << endl;
}
}
return 0;
}
using namespace std;
//用三个递归可轻易解决
int ride(int n)//阶乘的递归
{
if(n == 1)
return 1;
else
return n * ride(n - 1);
}
int y1(int n)
{
if(n == 1)
return 1;
else
return ride(n) + y1(n - 2);
}
int y2(int n)
{
if(n == 2)
return 2;
else
return ride(n) + y2(n - 2);
}
int main(void)
{
int n;
while(cin >> n)
{
if(n % 2 == 0)
{
cout << y1(n - 1) << ' ';
cout << y2(n) << endl;
}
else
{
cout << y1(n) << ' ';
cout << y2(n - 1) << endl;
}
}
return 0;
}