XML

Time Limit
1s
Memory Limit
65536KB
Judge Program
Standard
Ratio(Solve/Submit)
0.00%(0/0)
Description:

In this problem, you are asked to determine if a given document satisfies the syntax of an XML-like language.

A simple XML-like document can be parsed as a sequence of the following:

1. Plain text---ASCII codes between 32 and 127 (inclusive), with none of the following symbols: <, >, &
2. The sequences:
&lt;
&gt;
&amp;
These encode a <, >, or & respectively.
3. &xHEX; HEX must be any even (positive) number of upper or lower case hexadecimal digits, and this represents the bytes given.
4. <tag> Tag can be any lowercase alphanumeric string. This tag is pushed onto the context stack.
5. <tag/> This tag is not pushed onto the context stack (there is no closing context).
6. </tag> This tag removes the <tag> context from the stack, which must be topmost on the stack.

By the time the entire document is parsed, the context stack is empty for a valid document. We should also note that the empty string is considered valid.

Input:

You will be given a number of documents to process. Each document is given as one line of text which may be empty. The input is terminated by the end of file.

Output:

For each document given, print valid on a single line if it is a valid XML-like document, or invalid otherwise.

Sample Input:
the quick brown fox.
the &lti&gt&ltb&gtquick&lt/b&gt brown&lt/i&gt fox.
&ltdoc&gtfox &ampamp; socks.&lt/doc&gt
3x+5&ampgt;7
Null: &ampx00;
&ltdoc&gtthe quick brown fox.
the &lti&gtquick &ltb&gtbrown&lt/i&gt&lt/b&gt fox
fox &amp socks.
3x+5&gt7
Null: &ampx0;
Sample Output:
valid
valid
valid
valid
valid
invalid
invalid
invalid
invalid
invalid

Submit