#include <iostream> using namespace std; const int LIMIT=50; long long int f(int size){ long long int dp0[LIMIT+1]={1,0},dp1[LIMIT+1]={0}; for(int i=1;i<=LIMIT;i++){ dp0[i]=dp0[i-1]+dp1[i-1]; if(i>size-1){ dp1[i]=dp0[i-(size-1)]; } } return dp0[LIMIT]+dp1[LIMIT]-1; } int main() { // your code goes here cout<<f(2)+f(3)+f(4); return 0; }