##################################
#                                #
# Last modified 10/06/2011       # 
#                                #
# Georgi Marinov                 #
#                                # 
##################################

import sys

try:
	import psyco
	psyco.full()
except:
	pass

def run():

    if len(sys.argv) < 3:
        print 'usage: python %s inputfilename N outfilename ' % sys.argv[0]
        sys.exit(1)

    inputfilename = sys.argv[1]
    outputfilename = sys.argv[3]
    N = int(sys.argv[2])

    input_stream = open(inputfilename)
    i=0 
    outfile = open(outputfilename, 'w')
    for line in input_stream:
        i+=1
        if i % 1000000 == 0:
            print i, 'lines processed'
        outfile.write(line)
        if i==N:
            print N, 'lines saved, exiting'
            break

    outfile.close()

run()

