M0 programs produce sequential files as their main output. This is because sequential files are efficient for batch processing and can be easily read by downstream programs like M1. Sequential access patterns are optimal for the high-volume data processing that these systems handle.