#include<iostream>
#include<bits/stdc++.h>
using namespace std;
long long cishu=0,tili=0;
void yidong(int n)
{
if(n==1)
{
cishu+=1;
tili+=1;
}
else
{
yidong(n-1);
cishu=cishu*2+1;
tili=tili*2+n;
//yidong(n-1); 因为两次递归都是一样的,所以可以省略一次递归,大大节约运行时间。
}
}
int main()
{
int N;
cin>>N;
yidong(N);
cout<<cishu<<" "<<tili;
return 0;
}
节约的那次递归,只需要对次数和消耗的体力进行加倍即可,注意还要增加考虑上最后一次直接搬最大的那第n块。