the using get/put approach. no programmer side memory buffer to hold string, put character immediately when got one.
common tool that verify program which has prefix  under the program name folder. To run 1.in, 2.in, .... if exist then then the result used to compare to 1.out, 2.out, ... (if exist).
elimnate the most times of reallocation for output memory, boost 25% performance.
Let makefile just build file.
semicolon is redundent