시간 제한
메모리 제한
시간 제한
1초
메모리 제한
128 MB
디지털 조판이 없던 시절, 조판은 숙련공만이 다룰 수 있는 기술이자 예술이었다. 지면을 아끼고 글자를 더 아름답게 보이게 하려고 특정 문자 조합을 하나의 글자로 합쳐 찍었는데, 이런 문자를 ligature라고 한다. 예를 들어 a-e의 ligature는 'æ'이고, f-i의 ligature는 'fi'이다. 가능한 ligature와 출력 코드는 힌트의 표에 정리되어 있다.
소문자 s를 찍는 방법에는 "long s"와 "short s" 두 가지가 있었다. 오늘날에는 short s 형태만 쓰인다. 어떤 s를 써야 하는지는 다음 규칙으로 결정한다.
여기서 "단어"는 "식별자"와 다르다. 식별자는 _나 $ 같은 구두점을 포함할 수 있지만, 단어는 문자만으로 이루어진 연속 구간이다. 따라서 radius3이나 adios_amigo 같은 식별자는 radiuſ3, adioſ_amigo가 아니라 radius3, adios_amigo로 조판된다.
첫째 줄에 테스트 개수 P (1 <= P <= 1000)가 주어진다.
이후 P개의 줄이 주어지며, 각 줄은 길이가 1000자 이하인 문자열이다. 문자열은 알파벳 대문자, 알파벳 소문자, 숫자, 공백, 그리고 특수문자 .,"'$;:?()-<>=!로만 이루어진다.
각 테스트 문자열을 적절한 ligature와 long s 코드로 바꾸어 출력한다. short s는 그대로 s로 출력한다. AE와 Ae는 [AE], OE와 Oe는 [OE]로 출력하고, ae와 oe는 각각 [ae], [oe]로 출력한다. 다른 조합은 힌트 표의 코드에 따른다.
| 입력 | 심볼 | 출력 코드 |
|---|---|---|
| AE, Ae | Æ | [AE] |
| ae | æ | [ae] |
| OE, Oe | Œ | [OE] |
| oe | œ | [oe] |
| ct | | [ct] |
| ff | ff | [ff] |
| fi | fi | [fi] |
| fl | fl | [fl] |
| ffi | ffi | [ffi] |
| ffl | ffl | [ffl] |
| s (short) | s | s |
| s (long) | ſ | [longs] |
| si | | [longsi] |
| sh | | [longsh] |
| sl | | [longsl] |
| ss | | [longss] |
| st | ſt | [longst] |
| ssi | | [longssi] |
long s와 short s는 섞여 나올 수 있다. 예를 들어 crossstitch는 cro[longs]s[longst]itch가 된다. cro[longs]s[longs]titch는 올바른 출력이 아니다.