200892: [AtCoder]ARC089 E - GraphXY
Memory Limit:256 MB
Time Limit:2 S
Judge Style:Text Compare
Creator:
Submit:0
Solved:0
Description
Score : $900$ points
Problem Statement
AtCoDeer the deer wants a directed graph that satisfies the following conditions:
- The number of vertices, $N$, is at most $300$.
- There must not be self-loops or multiple edges.
- The vertices are numbered from $1$ through $N$.
- Each edge has either an integer weight between $0$ and $100$ (inclusive), or a label
X
orY
. - For every pair of two integers $(x,y)$ such that $1 ≤ x ≤ A$, $1 ≤ y ≤ B$,
the shortest distance from Vertex $S$ to Vertex $T$ in the graph where the edges labeled
X
have the weight $x$ and the edges labeledY
have the weight $y$, is $d_{x,y}$.
Construct such a graph (and a pair of $S$ and $T$) for him, or report that it does not exist. Refer to Output section for output format.
Constraints
- $1$ $≤$ $A,B$ $≤$ $10$
- $1$ $≤$ $d_{x,y}$ $≤$ $100$ ($1$ $≤$ $x$ $≤$ $A$, $1$ $≤$ $y$ $≤$ $B$)
- All input values are integers.
Input
Input is given from Standard Input in the following format:
$A$ $B$ $d_{1,1}$ $d_{1,2}$ $..$ $d_{1,B}$ $d_{2,1}$ $d_{2,2}$ $..$ $d_{2,B}$ $:$ $d_{A,1}$ $d_{A,2}$ $..$ $d_{A,B}$
Output
If no graph satisfies the condition, print Impossible
.
If there exists a graph that satisfies the condition, print Possible
in the first line.
Then, in the subsequent lines, print the constructed graph in the following format:
$N$ $M$ $u_1$ $v_1$ $c_1$ $u_2$ $v_2$ $c_2$ : $u_M$ $v_M$ $c_M$ $S$ $T$
Here, $M$ is the number of the edges, and $u_i$, $v_i$, $c_i$ represent edges as follows: there is an edge from Vertex $u_i$ to Vertex $v_i$ whose weight or label is $c_i$.
Also refer to Sample Outputs.
Sample Input 1
2 3 1 2 2 1 2 3
Sample Output 1
Possible 3 4 1 2 X 2 3 1 3 2 Y 1 3 Y 1 3
Sample Input 2
1 3 100 50 1
Sample Output 2
Impossible