XML

Time Limit: 1000ms
Memory Limit: 32768KB
This problem will be judged on HDU. Original ID: 3426
64-bit integer IO format: %I64d      Java class name: Main

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 oftext 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 <i><b>quick</b> brown</i> fox.
<doc>fox &amp; socks.</doc>
3x+5&gt;7
Null: &x00;
<doc>the quick brown fox.
the <i>quick <b>brown</i></b> fox
fox & socks.
3x+5>7
Null: &x0;

Sample Output

valid
valid
valid
valid
valid
invalid
invalid
invalid
invalid
invalid

Source

Language: 
Theme: 
Share Code? 

Powered by NB231 | Current Style: .