# Design tally reads the whole input before counting. Inputs are small, and one pass over a string is simpler than a streaming reader. ```mermaid flowchart LR input[File or stdin] --> read[Read it whole] read --> count{Count} count --> lines count --> words count --> bytes lines & words & bytes --> row[One row, lined up] ```