Сломался как-то раз на одной заправке счётчик бензина. Хорошо хоть отсекатель там был (это чтобы наливать ёмкость до полной, но не переливать).
Подъехал на ту заправку программист-ACMер. А ему и говорят: «Так и так, заправка, дескать, неисправна, езжай-ка ты себе подобру-поздорову». Тут заметил ACMер на стойке заправки три пустые канистры. Задумался ACMер, а что если первую канистру налить доверху, а потом из неё во вторую вылить, а потом из третьей… Может быть, и получится отмерить нужное число литров?
И, как обычно, задумался он не над частным случаем задачи, таким важным сейчас для него, а над общей формулировкой: сколько различных объёмов бензина он сможет отмерить этими канистрами?
Правда, надо учитывать, что на заправке бензин проливать нельзя (экология!). И по требованию владельца заправки переливать бензин можно только из одной канистры в другую, а в бак бензин можно перелить (из всех канистр или только из некоторых) лишь после окончания всех переливаний бензина в канистры и между ними.
Исходные данные
В каждой из трёх строк находится целое число от 0 до 255 — ёмкость канистры в литрах.
Результат
Результатом является единственное число — количество различных вариантов ответа на вопрос: сколько литров можно отмерить с помощью имеющихся канистр?
Пример
исходные данные | результат |
---|
0
3
4 | 6 |
Замечания
Нет смысла отмерять 0 литров, поэтому это значение учитывать не надо.
Автор задачи: Алексей Лахтин
Источник задачи: Седьмое открытое личное первенство УрГУ по спортивному программированию - 25 февраля 2006 года