package com.javarush.task.task19.task1918;

import java.io.FileReader;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.TreeMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Solution {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        FileReader fr = new FileReader(br.readLine());
        br.close();
        String tag = args[0];
        BufferedReader buffer = new BufferedReader(fr);

        StringBuilder sb = new StringBuilder();
        while (buffer.ready()) {
            sb.append(buffer.readLine());
        }
        fr.close();
        String target = sb.toString(); /*.replace("\r", "").replace("\n", "")*/ //думал из-за этого, но нет

        ArrayList<Integer> openTags = new ArrayList<>();
        ArrayList<Integer> closeTags = new ArrayList<>();

        String openTag = "<" + tag + "\\b.*?>"; //открывающий тэг
        String closeTag = "</" + tag + ">"; //закрывающий тэг
        Pattern patternOpen = Pattern.compile(openTag);
        Pattern patternClose = Pattern.compile(closeTag);
        Matcher matcherOpen = patternOpen.matcher(target);
        Matcher matcherClose = patternClose.matcher(target);
        while (matcherOpen.find()){
            openTags.add(matcherOpen.start()); //пихаем координаты начал всех открывающих тэгов в список
        }
        while (matcherClose.find()) {
            closeTags.add(matcherClose.end()); //а координаты концов закрывающих в другой список
        }
        TreeMap<Integer, Integer> indexMap = new TreeMap<>();
        for (int i = 0; i < closeTags.size(); i++) { //в цикле находим вложенные тэги (г*нокодец, но рабочий)
            int j = 0;
            while (openTags.size() > 1 && openTags.get(j) < closeTags.get(i)) {
                j++;
            }
            if (openTags.size() > 1) {
                indexMap.put(openTags.get(j-1), closeTags.get(i));
                openTags.remove(j-1);
            } else {
                indexMap.put(openTags.get(j), closeTags.get(i));
            }
        }

        for (Iterator iterator = indexMap.keySet().iterator(); iterator.hasNext();) {
            int left = (int) iterator.next();
            int right = indexMap.get(left);
            System.out.print(target.substring(left, right));
            if(iterator.hasNext()) System.out.print("\n");
        }
    }
}