#include <bits/stdc++.h>
    
#define int long long
    
#define REP(i,n) for(int i=0;i<n;i++)
#define FOR(i,m,n) for(int i=m;i<n;i++)
#define FORR(i,m,n) for(int i=m;i>=n;i--)
#define pb(x) push_back(x)
#define mp(x, y) make_pair(x, y) 
#define SORT(x) sort((x).begin(),(x).end())
#define INF 99999999999
#define MOD (int)(1e9)+7
    
using namespace std;
    
int dy[4]={1, 0, -1, 0};
int dx[4]={0, 1, 0, -1};
    
int32_t main(){
    int l;
    cin >> l;
    
    int r=0;
    while((1 << r+1) <= l) r++;

    int n = r+1;
    cout << n << " ";

    vector<int> fr, to, len;
    REP(i, r){
        fr.pb(i+1);
        to.pb(i+2);
        len.pb(0);

        fr.pb(i+1);
        to.pb(i+2);
        len.pb(1 << i);
    }

    for(int i=n-1; i>0; i--){
        if(l-(1 << (i-1))>=(1 << r)){
            fr.pb(i);
            to.pb(n);
            len.pb(l-(1 << (i-1)));
            l-=(1 << (i-1));
        }
    }

    cout << fr.size() << endl;
    REP(i, fr.size()){
        cout << fr[i] << " " << to[i] << " " << len[i] << endl;
    }
}