## Document Page: Problem Specification
### Overview
This image displays a technical document page titled "1. Problem Specification". The page is divided into two main conceptual columns. The left column contains the detailed problem specification for a programming task, including a general description, input requirements, output requirements, and an example. The right column contains general instructions about reading the problem specification.
### Components/Axes
The document is structured with a main header at the top-left, a primary content block on the left side, and a secondary instructional text block on the right side.
**Header (Top-Left):**
* "1. Problem Specification"
**Left Column (Main Content Block):**
This block is vertically aligned on the left side of the page and contains several sub-sections:
* **Section Title:** "Specification" (bold)
* **Sub-section Title:** "----Input----"
* **Sub-section Title:** "----Output----"
* **Sub-section Title:** "----Examples----"
* Sub-heading: "Sample Input:"
* Sub-heading: "Sample Output:"
* **Footer (Bottom of Left Column):** "Remember: all input/output of the program should be handled through stdin and stdout."
**Right Column (Instructional Text Block):**
This block is positioned to the right of the main content, approximately vertically centered on the page.
* **Text Line 1:** "Each page starts with a specification of what"
* **Text Line 2:** "the program should do."
* **Text Line 3 (Blue):** "Begin by carefully reading the problem"
* **Text Line 4 (Blue):** "specification."
### Content Details
**Header:**
"1. Problem Specification"
**Left Column - "Specification" Section:**
"The recent schoolboard 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!"
**Left Column - "----Input----" Section:**
"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$ votes on the list. The list of votes ends with a single line containing the characters ***. This line should not be counted. There can be up to $100000$ valid votes."
**Left Column - "----Output----" Section:**
"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!)"
**Left Column - "----Examples----" Section:**
"Sample Input:"
* "Penny Franklin"
* "Marti Graham"
* "Connie Froggatt"
* "Joseph Ivers"
* "Connie Froggatt"
* "Penny Franklin"
* "Connie Froggatt"
* "Bruce Stanger"
* "Connie Froggatt"
* "Barbara Skinner"
* "Barbara Skinner"
* "***"
"Sample Output:"
* "Connie Froggatt"
**Left Column - Footer:**
"Remember: all input/output of the program should be handled through stdin and stdout."
**Right Column - Instructional Text:**
"Each page starts with a specification of what"
"the program should do."
"Begin by carefully reading the problem"
"specification."
### Key Observations
* The document outlines a programming problem related to counting votes in an election.
* Input format specifies candidate names per line, allowing multiple words and hyphens, but no other punctuation.
* Input must contain at least 2 votes and can have up to 100,000 valid votes.
* The input list terminates with a line containing "***", which should not be counted as a vote.
* Output requires identifying a candidate with a "simple or absolute majority" (defined as "more than any other candidate").
* If no such majority exists, the output should be "Runoff!" including the exclamation mark.
* The example input shows 11 valid votes. Counting the votes for each candidate:
* Penny Franklin: 2 votes
* Marti Graham: 1 vote
* Connie Froggatt: 4 votes
* Joseph Ivers: 1 vote
* Bruce Stanger: 1 vote
* Barbara Skinner: 2 votes
* Connie Froggatt (4 votes) has more votes than any other candidate (Penny Franklin and Barbara Skinner have 2 votes each, others have 1). Thus, Connie Froggatt is the winner, matching the sample output.
* All input/output should use standard input (stdin) and standard output (stdout).
* The right-hand text emphasizes the importance of reading the problem specification carefully.
### Interpretation
This document serves as a clear and concise problem statement for a programming challenge. The core task is to implement an election vote counter that determines a winner based on a "simple or absolute majority" rule, or declares a "Runoff!" if no such winner exists. The detailed input/output specifications, including constraints on vote count and name format, are crucial for developers to correctly implement the solution. The example provided helps clarify the majority rule and expected output format. The instructional text on the right reinforces the importance of thorough understanding of the problem before attempting a solution, a common practice in competitive programming or software development tasks. The problem implicitly tests parsing skills, data aggregation, and conditional logic.