P4320 [CF72B] INI-file
提高+
题目描述

The INI file format is a de facto standard for configuration files. INI files are simple text files with a basic structure. They are commonly associated with Microsoft Windows, but are also used on other platforms.

Each line in INI-file stands for key-value mapping or defines new section. A key-value line has a format "key=value",where key — is the name of some property, and value — it's value. It is possible that it will be spaces from the both sides of key and/or value, the spaces should be ignored.

A section line has a format "[section]". It means that all key-value lines after it define properties of the specified section. Of cause, the following section line changes the current section. A section line may have spaces around any of brackets.

Also you should ignore comment lines — the first non-space character of comment line is ";".

You task is to write the program which will format given INI-file in a special way:

  • first, print key-value lines which do not belong to any section;
  • print all the sections in the lexicographical (alphabetical) order of their names;
  • inside each of two previous items, order key-value lines lexicographically by "key";
  • if there are more than one key-value lines with the same key inside a single section (or outside any sections), leave only one line (which appears later in the input data);
  • remove all redundant spaces and lines.

Input

The first line contains single integer n (1 ≤ n ≤ 510) — the number of lines in given INI-file.

The rest of the input contains a valid INI-file in n lines. Values of section, key and value contain only Latin letters, digits, "." and/or "-".

Each line has length not exceeding 255 characters and not less than 1 character. The total length of all the lines does’t exceed 10000.

Output

Print formatted INI-file.

输入格式

见题面 Input 部分

输出格式

见题面 Output 部分

样例输入
11 a= 1 b=a a = 2 ; comment [z] 1=2 [y] 2=3 [z] 2=1 [w]
样例输出
a=2 b=a [w] [y] 2=3 [z] 1=2 2=1