\n
## Document: Problem Specification
### Overview
This document outlines the specification for a program designed to count votes from a list of names. It details the input format, expected output, and provides example inputs and outputs. The document is formatted as a technical specification, likely for a programming assignment.
### Components/Axes
The document is structured with a numbered heading ("1. Problem Specification") and a "Specification" section. There are also sections labeled "---Input---", "---Output---", and "---Examples---". A side note with a call to action is present on the right side of the page.
### Detailed Analysis or Content Details
The document contains the following textual information:
**Specification:**
"The recent schooldboard elections were hotly contested: a proposal to swap school start times for elementary and high school students, a controversial new dress code proposal that bans athletic clothes in school, and a proposal to raise real-estate taxes to pay for a new football practice facility, and the list goes on and on. It is now hours after the polls have closed and a winner has yet to emerge!"
"In their desperation, the election officials turn to you and ask you to write a program to count the vote!"
**---Input---:**
"The input consists of a single test case, which is a list of votes cast. Each line in the input contains the name of a candidate for whom a vote was cast. A name may consist of multiple words, separated by spaces. Words contain letters or hyphens, but no other punctuation characters. There will be at least $2$ and less than $100$ votes. The list of $100000$ valid votes."
**---Output---:**
"If a candidate obtained a simple or absolute majority of all votes cast (that is, more than any other candidate), output the name of this candidate! If no candidate obtained a simple majority, output "Runoff!" (don't forget to include the exclamation mark!)"
**---Examples---:**
*Sample Input:*
Penny Franklin
Marti Graham
Connie Froggatt
Joseph Ivans
Connie Froggatt
Penny Franklin
Connie Froggatt
Milton Berger
Connie Froggatt
Barbare Skinner
Barbare Skinner
***
*Sample Output:*
Connie Froggatt
"Remember: all input/output of the program should be handled through stdin and stdout."
**Side Note:**
"Each page starts with a specification of what the program should do."
"Begin by carefully reading the problem specification."
### Key Observations
The document is a clear and concise problem statement. The use of "---" delimiters and bold text emphasizes key sections. The inclusion of example input and output is helpful for understanding the expected program behavior. The note on the side reinforces the importance of understanding the specification before coding. The use of mathematical notation ($2$, $100$, $100000$) indicates a level of formality.
### Interpretation
This document serves as a formal specification for a vote-counting program. It outlines the requirements, input/output format, and provides a test case to guide development. The problem is designed to test a programmer's ability to parse input, count occurrences, and determine a majority winner (or indicate a runoff situation). The specification is well-structured and easy to understand, suggesting a focus on clarity and precision. The inclusion of constraints on the number of votes (at least 2, less than 100) suggests that efficiency is not a primary concern, and the focus is on correctness. The use of "stdin" and "stdout" indicates that the program is expected to be a command-line application.