public class Main {
static String changeTitle(String line) {
int counter = 0;
char[] charArray = line.toCharArray();
while(charArray[counter] == '#') {
counter++;
}
String res = line.substring(counter).trim();
return "<h" + counter + ">" + res + "</h" + counter + ">";
}
static String changeList(String line) {
return "<li>" + line.substring(1).trim() + "</li>\n";
}
static String changeEm(String line) {
StringBuilder temp = new StringBuilder(line);
while(temp.toString().indexOf('_') != -1) {
temp.replace(temp.toString().indexOf('_'), temp.toString().indexOf('_')+1, "<em>");
temp.replace(temp.toString().indexOf('_'), temp.toString().indexOf('_')+1, "</em>");
}
return temp.toString();
}
static String changeLink(String line) {
char[] array = line.toCharArray();
StringBuilder temp = new StringBuilder(line);
StringBuilder link = new StringBuilder("");
StringBuilder text = new StringBuilder("");
String aaa = "";
for(int i = 0; i < array.length; i++) {
if(array[i] == '[') {
int j = i+1;
for(j = i+1; j < array.length && array[j] != ']'; j++) {
text.append(array[j]) ;
}
for(j = j+2; j < array.length && array[j] != ')'; j++) {
link.append(array[j]);
}
temp.replace(i, j+1, "<a href=" + '"' + link + '"' + ">" + text + "</a>");
}
}
return temp.toString();
}
public static void main(String [] args)
{
Scanner sc = new Scanner(System.in);
String line = null;
StringBuilder newLine = new StringBuilder("");
StringBuilder allLine = new StringBuilder("");
while(sc.hasNextLine()) {
line = changeLink(changeEm(sc.nextLine()));
if(line.length() == 0)
continue;
if(line.startsWith("END"))
break;
if(line.startsWith("#")) {
newLine.append(changeTitle(sc.nextLine()));
}else if(line.startsWith("*")) {
newLine.append(changeList(sc.nextLine()));
while(sc.hasNextLine()) {
line = changeLink(changeEm(sc.nextLine()));
if(line.length() == 0)
break;
if(line.startsWith("*")) {
newLine.append(changeList(line));
}
else
break;
}
newLine = new StringBuilder("<ul>\n" + newLine + "</ul>");
}else {
newLine.append(line);
while(sc.hasNextLine()) {
line = changeLink(changeEm(sc.nextLine()));
if(line.length() == 0)
break;
else {
newLine.append("\n");
newLine.append(line);
}
}
newLine = new StringBuilder("<p>" + newLine + "</p>");
}
allLine.append(newLine);
allLine.append("\n");
newLine = new StringBuilder("");
}
System.out.println(allLine);
sc.close();
}
}