#!/usr/local/cpython-3.4/bin/python3

'''Copy every nth line from stdin to stdout'''

import sys
import itertools


def usage(retval):
    '''Output a usage message'''

    if retval == 0:
        file_ = sys.stdout
    else:
        file_ = sys.stderr

    file_.write('Usage: {} -n nth\n'.format(sys.argv[0]))
    file_.write('Output every nth line\n')

    sys.exit(retval)


def main():
    '''main function'''
    number = 1
    while sys.argv[1:]:
        if sys.argv[1] == '-n':
            number = int(sys.argv[2])
            del sys.argv[1]
        elif sys.argv[1] in ['-h', '--help']:
            usage(0)
        else:
            sys.stderr.write('{}: Unrecognized option: {}\n'.format(sys.argv[0], sys.argv[1]))
            usage(1)
        del sys.argv[1]

    process(sys.stdin, sys.stdout, number)


def process(infile, outfile, number):
    '''Read from infile, write to outfile, only actually copying every number-th line'''

    number_minus_1 = number - 1

    for counter, line in zip(itertools.cycle(range(number)), infile):
        if counter == number_minus_1:
            outfile.write(line)

main()