Найкоротший рядок
Limits: 2 sec., 256 MiB
Марічка дуже любить рядки вигляду A..AB..BA..A
. Зліва
має бути хоча б одна, але не більше ніж \(a\) букв A
; всередині має бути
хоча б одна, але не більше \(b\) букв
B
; вкінці має бути хоча б одна, але не більше \(c\) букв A
.
Зеник хоче подарувати Марічці один рядок, який міститиме кожен улюблений рядок як послідовний підрядок. Зауважте, що підрядки можуть перетинатись.
Ваше завдання — знайти довжину найкоротшого рядка, який може подарувати Зеник.
Input
У єдиному рядку задано три цілі числа через пробіл: \(a\), \(b\) та \(c\).
Output
У єдиному рядку виведіть одне ціле число — відповідь на задачу.
Constraints
\(1 \le a, b, c \le 1000\).
Samples
Input (stdin) | Output (stdout) |
---|---|
1 1 1 | 3 |
Input (stdin) | Output (stdout) |
---|---|
2 1 1 | 4 |
Input (stdin) | Output (stdout) |
---|---|
2 4 2 | 20 |
Notes
У першому тесті є лише один улюблений рядок ABA
, тож
відповідь — 3.
У другому тесті найкоротший рядок це AABA
, він містить
обидва улюблені рядки ABA
та AABA
.
У третьому тесті є 16 різних улюблених рядків, а найкоротший рядок
який містить їх усіх має довжину 20. Одним з таких рядків є
AABBBAABAABBAABBBBAA
.
Submit a solution
Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
---|
Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
---|