Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ICPC mode for virtual contests.
If you've seen these problems, a virtual contest is not for you - solve these problems in the archive.
If you just want to solve some problem from a contest, a virtual contest is not for you - solve this problem in the archive.
Never use someone else's code, read the tutorials or communicate with other person during a virtual contest.

No tag edit access

The problem statement has recently been changed. View the changes.

×
F. Magic Matrix

time limit per test

5 secondsmemory limit per test

512 megabytesinput

standard inputoutput

standard outputYou're given a matrix *A* of size *n* × *n*.

Let's call the matrix with nonnegative elements magic if it is symmetric (so *a*_{ij} = *a*_{ji}), *a*_{ii} = 0 and *a*_{ij} ≤ *max*(*a*_{ik}, *a*_{jk}) for all triples *i*, *j*, *k*. Note that *i*, *j*, *k* do not need to be distinct.

Determine if the matrix is magic.

As the input/output can reach very huge size it is recommended to use fast input/output methods: for example, prefer to use scanf/printf instead of cin/cout in C++, prefer to use BufferedReader/PrintWriter instead of Scanner/System.out in Java.

Input

The first line contains integer *n* (1 ≤ *n* ≤ 2500) — the size of the matrix *A*.

Each of the next *n* lines contains *n* integers *a*_{ij} (0 ≤ *a*_{ij} < 10^{9}) — the elements of the matrix *A*.

Note that the given matrix not necessarily is symmetric and can be arbitrary.

Output

Print ''MAGIC" (without quotes) if the given matrix *A* is magic. Otherwise print ''NOT MAGIC".

Examples

Input

3

0 1 2

1 0 2

2 2 0

Output

MAGIC

Input

2

0 1

2 3

Output

NOT MAGIC

Input

4

0 1 2 3

1 0 3 4

2 3 0 5

3 4 5 0

Output

NOT MAGIC

Codeforces (c) Copyright 2010-2022 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: May/26/2022 10:00:01 (i2).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|