In an inter-school coding competition, programmers enter a single-elimination tournament. Each match involves programmers, and only the winner advances to the next round. The other four non-winners are eliminated. How many matches are needed to determine the champion programmer?
25
30
31
35
40