Collect and Share

Collect data from input files, then remove similarities and write it back to those files. Data is now shared across all input files.