#include using ll = long long int; #define fr(i, x) for(ll i = 0; i < x; ++i) using namespace std; vector do_iteration(vector arr){ vector result = arr; for(size_t i = 0; i < arr.size();++i){ if(i < arr.size() -1){ result[i] += arr[i+1]; } if(i > 0){ result[i] += arr[i-1]; } } return result; } void print_vector(const vector & v){ for(ll a : v){ cout << a << " "; } cout << endl; } int main(void){ ios_base::sync_with_stdio(0); cin.tie(0); ll days = 42; ll rows = 1000; ll N; cin >> N; vector v = vector(days +1); v[0] = 1; for(int i = 0; i < days; ++i){ v = do_iteration(v); } vector counts = vector(days+1); fr(i, days+1){ while(N >= v[i] && v[i] > 0){ N -= v[i]; counts[i] += 1; } } cout << days+1 * rows << endl; for(int i = 0; i < rows; ++i){//lines cout << 2*i << " " << 0 << " " << 1 << endl; for(int j = 1; j < days +1; ++j){ cout << 2*i << " " << j << " " << 0 << endl; } } ll harvested = 0; fr(i, days +1){ harvested += counts[i]; } cout << harvested << " " << days << endl; fr(j, days + 1){ for(int i = 0; i < counts[j]; ++i ){ cout << 2*i << " " << j << endl; } } assert(N == 0); return 0; }