#!/usr/bin/env python3

import os
import sys
import argparse

parser = argparse.ArgumentParser()
parser.add_argument('input',
                    help='the input file')

options = parser.parse_args(sys.argv[1:])

with open(options.input) as f:
    content = f.read().strip()

print(content)
