#! /usr/bin/env python

# By GvR, demystified after a version by Fredrik Lundh.

import sys

n = 100
if sys.argv[1:]:
    n = int(sys.argv[1])

def bottle(n):
    if n == 0: return "no more bottles of beer"
    if n == 1: return "one bottle of beer"
    return str(n) + " bottles of beer"

for i in range(n, 0, -1):
    print bottle(i), "on the wall,"
    print bottle(i) + "."
    print "Take one down, pass it around,"
    print bottle(i-1), "on the wall."
