import java.io.BufferedReader;
import java.io.Reader;
import java.io.InputStreamReader;
import java.io.IOException;
public class LiveJournalEntryFilterReader extends BufferedReader {
private boolean item = false;
private int nTableTag = 0;
private int nTableLevel = 0;
public LiveJournalEntryFilterReader(Reader in) {
super(in);
item = false;
nTableTag = 0;
nTableLevel = 0;
}
public String readLine() throws IOException {
while (true) {
String line = super.readLine();
if (line == null) {
return null;
}
if (! item) {
if (line.indexOf("<a name=\"item") >= 0) {
item = true;
nTableTag = 0;
nTableLevel = 0;
return line;
}
continue;
}
if (line.indexOf("<table") >= 0) {
if (nTableLevel == 0) {
nTableTag ++;
}
nTableLevel ++;
}
if (line.indexOf("</table>") < 0) {
if (nTableTag == 1 && nTableLevel >= 1) {
return line;
}
if (nTableTag == 2 && nTableLevel >= 2) {
return line;
}
continue;
}
else {
nTableLevel --;
if (nTableTag == 1 && nTableLevel >= 0) {
return line;
}
if (nTableTag == 2 && nTableLevel >= 1) {
return line;
}
if (nTableTag == 2 && nTableLevel == 0) {
item = false;
nTableTag = 0;
}
continue;
}
}
}
public static void main(String[] args) throws Exception {
LiveJournalEntryFilterReader in
= new LiveJournalEntryFilterReader(
new InputStreamReader(System.in, "UTF-8"));
while (true) {
String line = in.readLine();
if (line == null) {
break;
}
System.out.println(line);
}
}
}
|