#include<bits/stdc++.h>usingnamespace std;constint N =1e6+10;int f[N];signedmain(){int n =6;for(int i =1; i <= n; i ++){if(i ==1) f[i]=1;elseif(i ==2) f[i]=2;else f[i]= f[i -1]+ f[i -2];}// 1 2 3 5 8 13 21for(int i =1; i <= n; i ++) cout << f[i]<<' ';
cout << endl;return0;}
#include<bits/stdc++.h>usingnamespace std;constint N =1e6+10;int f[N];signedmain(){int a, b;
cin >> a >> b;for(int i =1; i <= a; i ++) f[i]=0;
f[a]=1;for(int i = a +1; i <= b; i ++)
f[i]= f[i -1]+ f[i -2];for(int i =1; i <= b; i ++) cout << f[i]<<' ';
cout << endl;return0;}
#include<bits/stdc++.h>usingnamespace std;constint N =1e3+10;int f[N][N];int a[N][N];signedmain(){int n;
cin >> n;for(int i =1; i <= n; i ++)for(int j =1; j <= i; j ++){
cin >> a[i][j];}for(int i =1; i <= n; i ++){for(int j =1; j <= i; j ++)
cout << a[i][j]<<' ';
cout << endl;}for(int i =1; i <= n; i ++)for(int j =1; j <= i; j ++){
f[i][j]=max(f[i -1][j], f[i -1][j -1])+ a[i][j];}int res =0;for(int i =1; i <= n; i ++){
res =max(res, f[n][i]);}
cout << res << endl;return0;}
#include<bits/stdc++.h>usingnamespace std;constint N =1e3+10, INF =-1e6;int f[N][N];int a[N][N];signedmain(){int n;
cin >> n;for(int i =1; i <= n; i ++)for(int j =1; j <= i; j ++){
cin >> a[i][j];}for(int i =1; i <= n; i ++)for(int j =1; j <= i; j ++){
f[i][j]=-1000000;}for(int i =1; i <= n; i ++){for(int j =1; j <= i; j ++)
cout << f[i][j]<<' ';
cout << endl;}for(int i =1; i <= n; i ++){for(int j =1; j <= i; j ++)
cout << a[i][j]<<' ';
cout << endl;}
f[1][1]= a[1][1];for(int i =2; i <= n; i ++)for(int j =2; j <= i; j ++){
f[i][j]=max(f[i -1][j], f[i -1][j -1])+ a[i][j];}int res =0;for(int i =1; i <= n; i ++){
res =max(res, f[n][i]);}
cout << res << endl;return0;}