Сыртқы араласу
Алиса мен Боб — ең жақын достар және түрлі ойындар ойнағанды ұнатады.
Бір күні Алиса Бобты өте қызықты ойынға шақыруды қалады да, оған \(s\) түрінде шақыру хат жіберуді шешті, мұндағы хат тек '\(a\)' және '\(b\)' символдарынан тұрады. Алиса бұл шақырудың дұрыс қолдарға түспеуі мүмкін екенін біледі және сыртқы араласудан кейін Боб қатты ренжуі мүмкін, егер ол дұрыс емес хабарламаны алса.
Осыған байланысты Алиса \(s\) жолынан кейбір символдарды жолдан алып тастап, кейбіреулерін сұрақ белгісі '\(?\)' символына ауыстыруы мүмкін. Мысалы, Алиса "\(abbab\)" жолын "\(?b?a\)" деп өзгертіп, оны Бобқа жібере алады. Қорытындысында ол жіберген хабарлама \(t\) болады.
Қаскөйлер жіберілген хабарламаны ұрлап алып, әрбір сұрақ белгісін '\(a\)' немесе '\(b\)' символына ауыстыра алады. Хабарлама өзгертілгеннен кейін, олар оны Бобқа жібереді. Назар аударыңыз, Боб сұрақ белгіссіз хабарламаны алады. Боб хабарламаны дұрыс түсінеді, егер \(t\) жолы \(s\) жолының қосалқы реттілігі болса. Әрине, қаскөйлер мұның орын алуын қаламайды және хабарламаны өзгертіп, \(t\) жолы \(s\) жолының қосалқы реттілігі болмауы үшін барын салады.
\(t\) жолы \(s\) жолының қосалқы реттілігі болады, егер \(t\) жолын \(s\) жолынан кейбір (мүмкін, ешқандай) символдарды жою арқылы алуға болатын болса. Мысалы, "\(abda\)" жолы "\(abracadabra\)" жолының қосалқы реттілігі болып табылады, себебі екінші жолдан "\(ab\)****\(da\)***" \(\rightarrow\) "\(abda\)" жолын алуға болады. Бірақ "\(adc\)" жолын алу мүмкін емес.
Сізге қаскөйлер өз мақсаттарына жетіп, егер жетсе, хабарламаны қалай өзгерту керек екенін анықтау керек. Егер бірнеше шешім болса, олардың кез келгенін шығарыңыз.
Енгізу
Бірінші жолда \(s\) жолы \((1 \leq |s| \leq 10^5)\) беріледі — бастапқы хабарлама, '\(a\)' және '\(b\)' символдарынан тұрады.
Екінші жолда \(t\) жолы \((1 \leq |t| \leq |s|)\) беріледі — Алиса жіберген, қаскөйлердің қолына түскен хабарлама. Бұл жол '\(a\)', '\(b\)' және/немесе '\(?\)' символдарынан тұрады.
Мұндағы \(|s|\) — \(s\) жолының ұзындығы.
Шығару
Егер қаскөйлер \(t\) жолын өзгертіп, оны \(s\) жолының қосалқы реттілігі болмайтындай ету мүмкін болса, келесіні шығарыңыз:
Бірінші жолда "possible" (құрсауларсыз).
Екінші жолда өзгертілген хабарлама \(t\). Егер бірнеше шешім болса, олардың кез келгенін шығарыңыз.
Егер бұл мүмкін болмаса, "impossible" (құрсауларсыз) деп шығарыңыз.
Бағалау жүйесі
| Ішкі есеп | Қосымша талаптар | Ұпайлар | Міндетті ішкі есептер |
|---|---|---|---|
| \(1\) | \(|t| = 2\) | \(8\) | — |
| \(2\) | \(|s| \leq 20\) | \(20\) | — |
| \(3\) | \(s\) жолы тек '\(a\)' символдарынан тұрады | \(12\) | — |
| \(4\) | \(|s| \leq 5000\) | \(26\) | \(2\) |
| \(5\) | — | \(34\) | \(1\), \(3\), \(4\) |
Мысалдар
Енгізу 1
abbab
?b?a
Жауап 1
possible
bbba
Пікірлер