le français
시간 제한1초메모리 제한512 MB
프랑스어 문장에서 알파벳 글자 수를 센 뒤, 그 수에 가장 가까운 7의 배수를 프랑스어 단어로 소문자와 공백만 써서 출력한다.
문제
kipa는 프랑스어를 약 1년째 배우고 있다. 주변에 프랑스어를 배울 사람이 하나도 없다는 사실이 슬프다. 그래서 프랑스어에 대한 문제를 프랑스어로 내기로 했다. 프랑스어는 한국어나 영어와 비교해도 특징이 아주 많다.
프랑스어의 발음은 매우 규칙적이고, 다만 매우 복잡할 뿐이다. 규칙을 조금 소개하겠다. c는 e, i, y 앞에서 항상 /s/로, 그 외에는 /k/로 발음된다. 그런데 예전에는 e, i, y 앞이 아니어도 /s/로 발음했다. 프랑스인들은 이 "규칙 파괴자"를 견딜 수 없어서 항상 /s/로 발음되는 다른 글자 "ç"를 만들었다. 프랑스인들은 자기 언어를 정말 아낀다!
프랑스어의 또 다른 놀라운 점은 부정어다. 프랑스어를 초급 수준으로 배운 사람이라면 "ne ... pas"로 문장 전체를 부정한다고 배웠을 것이다. 두 단어를 써서 부정하려는 단어를 정확히 표시하는 것이다. "ce n'est pas absolument vrai."는 일반적으로는 참일 수도 있다는 뜻이고, "ce n'est absolument pas vrai."는 그냥 거짓이라는 뜻이다.
"ne"는 아주 많이 쓰이고, 긍정에서 부정으로 뉘앙스를 바꾸기 때문에 프랑스인들의 사고방식까지 짐작할 수 있다. 예를 들어 "ne ... que"는 보통 "오직"을 뜻하는데, 부정의 의미는 전혀 없는 것처럼 보인다! 사실 "ne ... que"는 다른 모든 것을 부정하는 말이다. "ne ... plus"도 마찬가지다. "plus"는 보통 어떤 것이 이전보다 훨씬 많아진다는 뜻이다. 여기에 "ne"를 붙이면 어떤 것이 많아지기를 멈춘다는 뜻이 된다. kipa에게는 그렇게 생각할 수 있다는 것이 놀라웠다.
숫자는 매우 복잡하다. 예를 들어 21은 20과 1인데도 "vingt et un"이라 하고, 23은 20과 3인데도 "vingt-trois"라 한다! 또 70, 80, 90은 각각 "soixante-dix", "quatre-vingts", "quatre-vingt-dix"이고, 97은 4 × 20 + 10 + 7을 뜻하는 "quatre-vingt-dix-sept"이다! 프랑스어권이 아닌 다른 나라들은 이 긴 단어들을 "septante", "huitante", "nonante"로 줄였다. 이제 숙제다. 프랑스어 문장이 주어진다. 이 글에서 알파벳 글자만 세어라. kipa는 프랑스인들이 자기 문화를 지키는 일을 대단하게 여기게 되었다.
이미 알겠지만 프랑스어에는 성과 수의 일치가 있다. 모든 단어에 성(남성 또는 여성)과 수(단수 또는 복수)가 있고, 문장 안의 다른 단어에 맞춰 단어를 써야 한다. "être"를 직설법 현재형으로 쓸 때는 동사가 성을 구분하지 않으므로 덜 복잡할 수 있다. 과거분사형을 쓰면 상황이 더 나빠진다. 과거분사는 성과 수를 모두 구분한다. 사실 이 글에도 일치가 아주 많이 나온다. 자연스럽게 말하려면 익숙해져야 한다!
프랑스어에서 아마 가장 어려운 것, 과거 표현을 설명하고 싶다. 프랑스어에는 오래전에 "le passé simple"이 있었다. 다행히 오늘날에는 거의 쓰지 않는다. 과거에 일어난 일을 전달하는 데는 "le passé composé"와 "l'imparfait" 두 가지를 쓴다. passé composé는 영어의 "have + p.p."와 비슷하지만 더 어렵다. "avoir"("have") 대신 "être"도 쓸 수 있는데, 둘 중 하나만 맞고 다른 하나는 틀리다. "l'imparfait"는 영어와 비교했을 때 과거에 일어난 일을 표현하는 독특한 방식이다.
passé composé는 일어난 일만 말한다. 동사가 열여섯 개 중 하나일 때 "être"를 쓴다(전체 목록은 아래에 있다). 대명동사로 활용되는 경우에도 "être"를 쓴다. 나머지 동사는 모두 "avoir"와 함께 쓴다. 그러니 "avoir"가 쓰인 문장을 "être"가 쓰인 문장보다 훨씬 많이 보게 될 것이다. 여기까지 읽었다면 위에서 설명한 답에 가장 가까운 7의 배수를 구하라.
l'imparfait는 진행 중이었다는 것을 말한다. 즉 어떤 것이 오래 이어졌다는 뜻이다. 모든 동사의 imparfait 형태를 외워야 한다. 또 프랑스어는 이것을 정확히 적용해서, 그 의미일 때마다 이 표현을 쓴다. 예를 들어 "j'étais étudiant"라고 하고 "j'ai été étudiant"라고 하지 않는다. 학생은 과거의 한순간만 학생일 수는 없다. "quand j'ai ouvert la porte, ils fêtaient dans la chambre petite."에서 문을 여는 것은 한순간이므로 passé composé를 쓰고, 방에서 파티하는 것은 한순간이 아니며 과거의 사건 선언이 아니므로 imparfait를 쓴다.
그뿐 아니라 프랑스어 단어를 알면 영어 공부에도 도움이 된다. 예를 들어 글자 위의 "chapeau"는 오래전에 그 글자 뒤에 s가 있었지만 이제는 없다는 뜻이다. 그래서 프랑스어 "hôpital"은 영어 "hospital"이고, 프랑스어 "arrêter"는 영어 "arrest"이다. 또 "avion" 같은 단어는 아주 기초적인 단어 중 하나지만, "aviation"은 기초 단어가 결코 아니고 복잡하고 격식 있는 느낌이다!
여기까지 다 읽었다면 축하한다! 이제 프랑스어에 대해 많이 안다! 그럼 이제 진짜로 프랑스어를 배워 볼 생각인가?
입력
첫 줄에 프랑스어 문장이 주어진다. 주어지는 문장의 길이는 1,000글자를 넘지 않는다.
출력
위 글에서 설명한 대로 답을 출력한다. 프랑스어(프랑스)로 답하되 소문자와 공백만 사용한다. (즉, 하이픈 대신 공백을 쓴다.)
힌트
열여섯 동사는 aller, apparaître, arriver, descendre, devenir, entrer, montrer, mourir, naître, partir, passer, rester, retourner, sortir, tomber, venir이다.