eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Боулінг

Боулінг

Відомо, що програмістам подобається боулінг. Боулінг -- це змагальний вид спорту, в якому гравець ("боулер") котить кулю по дерев'яній чи синтетичній доріжці з метою заробити очки, збиваючи якомога більшу кількість кеглей. Підракунок очків є одним з етапів гри, і для новачка здається занадто заплутаним процесом. На шастя, це не так складно як здається. Оскільки більшість боулінг центрів оснащені комп'ютером для ведення рахунку, то зазвичай Вам не приходиться займатись підрахунком очків. Але якщо одного разу такий комп'ютер зламається чи Вам доведеться виправити помилку, розуміння правил підрахунку очків стає досить важливим. Складність підрахунку виникає, коли має місце страйк чи додатковий кидок, так як у цих випадках табло не оновлюється відразу. Гра складається з \textbf{10} раундів, на початку кожного з яких Вам пропонується збити повний набір з \textbf{10} кеглей. У кожному раунді Вам дається два кидки, за які необхідно збити якомога більшу кількість кеглей. Якщо першим кидком Ви збиваєте всі кеглі, то така ситуація у грі називається страйк. Рахунок не змінюється відразу, так як у цьому випадку значення двох наступних кидків будуть додані до результату страйка у якості бонусу. Наприклад, якщо у першому раундіе має місце страйк, а у другому раунді Ви отримали відповідно \textbf{7} і \textbf{1} очко, то за перший раунд Вам нараховується \textbf{18 (10+7+1)} очок, і \textbf{8} за другий раунд, тобто Ви отримаєте \textbf{26} очок за два раунди. Якщо першим китком збито деяку частину кеглів, а вся частина, що залишилась, збита другим кидком, то така ситуація називається спеа. Рахунок відразу не оновлюється, так як у цьому випадку значення наступного кидка додається в якості бонуса. Якщо має місце спеа у першому раунді, наприклад \textbf{6} і \textbf{4}, а у другому раунді \textbf{8} і \textbf{1}, то за перший раунд Ви отримаєте \textbf{18 (6+4+8)}, і \textbf{9} за другий, тобто \textbf{27} у сумі за два раунди. В останньому раунді підрахунок очок дещо відрізняється. У випадку страйка або спеа Ви маєте додаткові кидки, які приносять бонусні очки. Якщо першим кидком має місце страйк, то у Вас є можливість вибити страйк у наступних двох кидках, таким чином здійснивши в сумі три кидки за раунд. Якщо має місце страйк у всіх трьох останніх кидках, Ви отримуєте за останній раунд \textbf{30 (10+10+10)} очок. Якщо в останньому раунді має місце спеа, то Ви отримуєте в якості бонуса ще один кидок. Тобто спеа \textbf{9} і \textbf{1} з наступним страйком принесе Вам \textbf{20 (9+1+10)} очок. Необхідно написати програму підрахунку очок за інформацією про кількість збитих кеглей при кожному кидку. \InputFile Перший рядок містить кількість тестів \textbf{t} <= \textbf{1000}. Кожен з наступних \textbf{t} рядків описує один тест. Кожен тест складається з декількох цілих чисел \textbf{0} <= \textbf{a} <= \textbf{10} -- кількості кеглей, збитих при кожному кидку. Кожен тест описує повну гру для одного гравця. Всі вхідні ігри коректні. \OutputFile Для кожного тесту в окремому рядку вивести кількість очок, які може набрати гравець.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
3
10 10 10 10 10 10 10 10 10 10 10 10
3 5 1 5 7 1 10 1 6 10 6 2 1 2 0 5 8 1
9 1 5 0 3 0 8 1 6 4 7 2 7 1 6 3 10 4 4
Вихідні дані #1
300
89
101