Significance:
Every downstream tool in genomics — from base-calling QC to variant callers — starts with the same primitive: knowing the base composition of a sequence. Nucleotide counting is also the first check a bioinformatician runs to sanity-test a FASTA file (e.g., "does this look like a real genome or is it corrupted/N-heavy?"). It's the "Hello World" of computational biology for a reason: it forces you to think about strings as biological objects, not just characters.
Statement
Given a single-stranded DNA sequence composed only of the characters `A`, `C`, `G`, and `T`, count how many times each nucleotide occurs. This is a direct analog of the base-composition statistics reported by every sequencing QC tool (FastQC, Biopython's `SeqUtils`, etc.).
Your program should read one DNA string and output four integers, space-separated, in the fixed order **A C G T**.