You'reFat 러닝머신 회사는 사용자가 오디오 프로그램(온라인 스트리밍 오디오 또는 CD)에 맞춰 운동 프로그램을 실행할 수 있도록 러닝머신을 개선하기로 했다. 이 프로그램에는 경쾌한 음악과 강사의 응원이 담긴다. 오디오 프로그램에는 속도와 경사의 변경을 알리는 칩(chirp)을 삽입할 수 있다. 예를 들어 러닝머신의 속도를 높여야 할 때가 되면, 러닝머신이 칩에서 새 속도를 읽어 들이는 동안 음악이 잠시 멈췄다가 다시 재생된다. 러닝머신은 0부터 7마일/시의 속도와 0부터 7도의 경사를 지원한다.
한 프로그램은 샘플의 나열이다. 각 샘플은 0(최솟값)부터 9(최댓값)까지의 값을 가진다. 1초에 샘플이 3개씩 들어간다. 각 칩은 비트의 나열이다. 비트 0은 각각 4 또는 5인 샘플 두 개로 이루어진다. 비트 1은 샘플 두 개로 이루어지며, 첫 번째는 0 또는 1, 두 번째는 8 또는 9이다. 칩은 비트 "01"로 시작한다. 이어지는 세 비트는 새 속도를 나타내며, 최하위 비트부터 온다. 그다음 세 비트는 새 경사를 나타내며, 이 역시 최하위 비트부터 온다. 속도나 경사 중 하나가 바뀌지 않더라도 모든 칩에는 속도와 경사가 모두 포함된다는 점에 유의하라. 속도 3마일/시, 경사 6도를 나타내는 칩은 다음과 같다:
| 샘플 | 5 | 5 | 1 | 9 | 1 | 9 | 1 | 9 | 4 | 5 | 5 | 4 | 0 | 9 | 1 | 8 |
| 비트 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | ||||||||
| 의미 | 시작 비트 | 속도: 3 mph | 경사: 6도 |
입력은 하나 이상의 프로그램으로 이루어진다. 각 프로그램에는 1부터 시작하는 번호가 암묵적으로 매겨진다. 첫 줄에는 뒤따르는 프로그램의 개수인 정수 n이 하나 주어진다. 각 프로그램은 샘플의 나열이다. 프로그램의 각 줄에는 정확히 30개의 샘플이 있으며, 마지막 줄만 그보다 적을 수 있다. 각 프로그램의 끝은 값이 10인 샘플로 표시된다.
다음에 유의하라.
각 오디오 프로그램에 대해 먼저 "Program n" 줄을 출력한다. 여기서 n은 프로그램 번호이다. 그다음 그 오디오 프로그램에 있는 각 칩의 시간, 속도, 경사를 출력한다. 각 칩은 "mm:ss Speed S Inclination I" 형식으로 한 줄을 출력한다. 분과 초는 모두 앞자리를 0으로 채워("00"부터 "59"까지) 출력한다. 칩의 시간은 시작 비트의 첫 샘플이 놓인 시각이며, 1초 미만의 소수 부분은 버린다. 속도 S와 경사 I는 모두 한 자리 십진수로 출력한다. 출력의 각 항목 사이에는 공백이 하나씩 있어야 한다.