Assignment 3: add --list, --input, and --output options supporting files or stdin, added data.txt to use as input