3-ке бөлінетін сан


Шешімді жөнелту

Ұпайлар: 100 (partial)
Уақыт шектеуі: 1.0s
Жад шектеуі: 256M

Author:
Problem types

\(s\) жолы берілген, ол '0'..'9' және '?' символдарынан тұрады. Бұл ондық жазбадағы санды білдіреді, мұндағы '?' жойылған цифраны білдіреді.

Келесі шарттар орындалатындай әрбір '?' символын \(0\)-ден \(9\)-ға дейінгі цифрмен ауыстырыңыз:

  • алынған сан \(3\)-ке бөлінеді;

  • барлық сәйкес нұсқалар арасында ол максималды (сан ретінде);

  • санның алдыңғы нөлдері болмауы тиіс: егер \(|s| > 1\) болса, нәтиженің бірінші символы '0' болмауы керек.

Сәйкес нұсқа болмаса, -1 шығарыңыз.

Енгізу

Бірінші жолда \(s\) (\(1 \le |s| \le 9\)) берілген, ол тек '0'..'9' және '?' символдарынан тұрады.

Шығару

Бір жолды шығарыңыз — ізделген максималды сан, немесе -1, егер оны алу мүмкін болмаса.

Бағалау жүйесі

Мәселе 4 қосымша тапсырмадан тұрады.

Қосымша тапсырма Қосымша шектеулер Ұпайлар
\(0\) Мысалдар \(0\)
\(1\) \(s\) ұзындығы \(1\)-ге тең \(25\)
\(2\) Жолда '?' символдары жоқ \(25\)
\(3\) Бір ғана '?' символы жолдың соңғы позициясында \(25\)
\(4\) Қосымша шектеулер жоқ \(25\)

Мысалдар

Енгізу 1
2026
Жауап 1
-1
Енгізу 2
10??
Жауап 2
1098