Lösenordsnoja | 프로그래밍의 벗 PivotOJ
PivotOJ

Lösenordsnoja

시간 제한: 1000ms메모리 제한: 1024MB출처: Programmeringsolympiaden 2020 — lagerBOJ 20832

문제

Agenten August har ett problem som han behöver din hjälp med. August har två mejladdresser som han använder för att kommunicera med sina agentkollegor. Men han misstänker att någon okänd person sedan en tid tillbaka övervakar varje knapptryckning han gör. Bland annat känner denna person vid det här laget till de två lösenord som August använder till mejladdresserna. 

De två lösenorden s1s_1 och s2s_2 är textsträngar som består av bokstäverna "a"-"z". De två lösenorden skrivs in i två olika textrutor, med maxlängd l1l_1 respektive l2l_2. Maxlängden hos en textruta är ett positivt heltal som avgör hur många bokstäver som kan stå i textrutan. Om man trycker på en bokstav så hamnar den bokstaven längst bak i textrutan, förutom om antalet bokstäver som står i textrutan är lika med maxlängden, för då händer ingenting. 

För att orsaka förvirring skulle August vilja ha en sekvens av knapptryckningar som åstadkommer att s1s_1 hamnar i den första textrutan och s2s_2 hamnar i den andra. På så sätt kan den okända övervakaren inte veta vilken mejladdress August använder. Din uppgift är att konstruera en sådan sekvens. Det finns 2727 knappar du kan använda, bokstäverna "a"-"z" och "<" (backspace). Om backspace trycks in så försvinner den sista bokstaven i rutan (om det finns minst en bokstav i rutan, annars händer ingenting).

För att få full poäng ska du hitta en sekvens som innehåller så få tecken som möjligt. I vissa testgrupper behöver du bara hitta en sekvens som har max 10610^6 tecken.

입력

Den första raden innehåller ett heltal K{0,1}K \in \{0, 1\}, som indikerar om du behöver hitta en kortaste lösning. Om K=1K = 1 måste du hitta en kortaste lösning, annars räcker det med att den har max 10610^6 tecken.

Den första raden innehåller en sträng s1s_1 och ett heltal l1l_1 (1s1l110001 \leq |s_1| \leq l_1 \leq 1000).

Den andra raden innehåller en sträng s2s_2 och ett heltal l2l_2 (1s2l210001 \leq |s_2| \leq l_2 \leq 1000).

Både s1s_1 och s2s_2 innehåller bara små bokstäver från "a" till "z".

출력

Om det inte finns en sekvens av knapptryckningar så som beskrivs i uppgiften, skriv ut ett utropstecken "!".

Annars, skriv ut en sträng bestående av tecknen "a"-"z" och "<", den sekvens du hittade. Om det finns flera lösningar kan du skriva ut vilken som helst. Om K=1K = 1 ska sekvensen vara så kort som möjligt, annars räcker det med att den har högst 10610^6 tecken. Det är garanterat att om det finns en lösning, så finns det en med högst 10610^6 tecken.

예제

예제 1

입력
0
bra 3
bara 5
출력
<bara<<ra

예제 2

입력
0
password 10
secret 12
출력
!

예제 3

입력
1
gg 2
ogeggig 8
출력
ogegg<<ggig
이 문제는 채점 준비 중입니다. 테스트 데이터가 확보되면 제출이 가능합니다.