# Problem C: Problem C: XML

Source: `xml.{c,cpp,java}`
Input: `console {stdin,cin,System.in}`
Output: `console {stdout,cout,System.out}`

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 <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