Задачі
Директиви include
Директиви include
Багато мов містять спеціальну директиву, яка вставляє вміст одного файлу всередину іншого. Часто такі директиви називаються include. У цій задачі вам потрібно реалізувати функціональність найпростішого препроцесора, який опрацьовує цю інструкцію. Вам задано набір текстових файлів. Рядок файлу виду "\textbf{#include} <\textbf{ім'я-файлу}>" повинен бути замінений на вміст відповідного файлу (ім'я файлу у директиві может бути як абсолютним так і відносним; відносний шлях завжди починається з імені файлу або директорії або спецпослідовності "\textbf{..}"). У цьому рядку можуть бути довільні незначущіе пропуски, які не розривають елементи include та ім'я-файлу. Якщо файлу з іменем ім'я-файлу не існує, то цей рядок повинен бути просто вирізаним з тексту файлу.
\InputFile
Вхідний файл складається з послідовності описів файлів. Кожен опис починається з рядка, який містить шлях до файлу у форматі файлових систем Windows. Шлях задано абсолютно і не містить пропусків і символів "\textbf{\textbackslash}", які ідуть підряд. У якостві елементу шляху може бути використана спецпослідовність "\textbf{..}", яка позначає перехід у батьківську директорію. Інші спецпослідовності не використовуються. Ім'я довільних директорії і файлу скаладається з латинських букв, цифр і символу "\textbf{.}". Порівнянння імен файлів слід проводити без врахування регістру. Далі йде вміст файлу. Послідовність виду "\textbf{^Z}" позначає кінець файлау. Ця послідовність завжди записана у окремому рядку, тобто кожен рядок файлу, включаючи останній, завершується переводенням рядка. Вхідний файл містить не менше одного опису. Розмір файлу не перевищує \textbf{40} KB. Довжина кожного рядка файлу не перевищує \textbf{1000} символів. Усі імена файлів у тесті (включаючи ті, що зустрічаються у директивах \textbf{include}) -- це коректні абсолютні або відносні шляхи.
\OutputFile
Виведіть вміст першого файлу після опрацювання препроцесором. Гарантується, що розмір виведення не перевищить \textbf{400} KБ. Якщо опрацювання директив призводить до циклічного процесу -- виведіть рядок "\textbf{Too long file}".
\textbf{Приклад}
Вхідні дані #1
c:\files\first.txt #define MAX_N 1024 #include <second.txt> last line ^Z c:\FILES\..\files\second.txt included file #include <..\files\third.txt> ^Z c:\FILES\THIRD.txt included file ^Z
Вихідні дані #1
#define MAX_N 1024 included file included file last line