

cur = [0]*100
nxt = [0]*100
cur[0] = 1
for x in range(41):
    for i in range(98):
        nxt[i] = cur[i] + cur[i-1] + cur[i+1]
    for i in range(100):
        cur[i] = nxt[i]
        nxt[i] = 0
for i in range(100):
    nxt[i] = cur[i]
cur = sorted(cur)[::-1]
sl = dict()
i = 0
for x in nxt:
    sl[x] = i
    # print(i,x)
    i+=1
# print(sl)
maks = 0
ile = 0
print(100000)
for i in range(0,2000,2):
    print(0,i,1)
    for j in range(1,100):
        print(j,i,0)
co = int(input())
i = 0
tab = []
while co != 0:
    if cur[i] <= co:
        pom = co//cur[i]
        ile+=pom
        co -= cur[i]*pom
        a=0
        while pom > 0:
            pom-=1
            tab.append([cur[i],a])
            a+=2
    else:
        i+=1
print(ile,41)
# assert(ile <= 10000)
for a,b in tab:
    # assert(b < 2000)
    # assert(a<100)
    print(sl[a],b)