atcoder#AGC041E. [AGC041E] Balancing Network

[AGC041E] Balancing Network

Score : 16001600 points

Problem Statement

A balancing network is an abstract device built up of NN wires, thought of as running from left to right, and MM balancers that connect pairs of wires. The wires are numbered from 11 to NN from top to bottom, and the balancers are numbered from 11 to MM from left to right. Balancer ii connects wires xix_i and yiy_i (xi<yix_i < y_i).

pic1-small-2acea94b.png

Each balancer must be in one of two states: up or down.

Consider a token that starts moving to the right along some wire at a point to the left of all balancers. During the process, the token passes through each balancer exactly once. Whenever the token encounters balancer ii, the following happens:

  • If the token is moving along wire xix_i and balancer ii is in the down state, the token moves down to wire yiy_i and continues moving to the right.
  • If the token is moving along wire yiy_i and balancer ii is in the up state, the token moves up to wire xix_i and continues moving to the right.
  • Otherwise, the token doesn't change the wire it's moving along.

Let a state of the balancing network be a string of length MM, describing the states of all balancers. The ii-th character is ^ if balancer ii is in the up state, and v if balancer ii is in the down state.

A state of the balancing network is called uniforming if a wire ww exists such that, regardless of the starting wire, the token will always end up at wire ww and run to infinity along it. Any other state is called non-uniforming.

You are given an integer TT (1T21 \le T \le 2). Answer the following question:

  • If T=1T = 1, find any uniforming state of the network or determine that it doesn't exist.
  • If T=2T = 2, find any non-uniforming state of the network or determine that it doesn't exist.

Note that if you answer just one kind of questions correctly, you can get partial score.

Constraints

  • 2N500002 \leq N \leq 50000
  • 1M1000001 \leq M \leq 100000
  • 1T21 \leq T \leq 2
  • 1xi<yiN1 \leq x_i < y_i \leq N
  • All input values are integers.

Partial Score

  • 800800 points will be awarded for passing the testset satisfying T=1T = 1.
  • 800800 points will be awarded for passing the testset satisfying T=2T = 2.

Input

Input is given from Standard Input in the following format:

NN MM TT

x1x_1 y1y_1

x2x_2 y2y_2

::

xMx_M yMy_M

Output

Print any uniforming state of the given network if T=1T = 1, or any non-uniforming state if T=2T = 2. If the required state doesn't exist, output -1.

4 5 1
1 3
2 4
1 2
3 4
2 3
^^^^^

This state is uniforming: regardless of the starting wire, the token ends up at wire 11.

pic2-small-2acea94b.png

4 5 2
1 3
2 4
1 2
3 4
2 3
v^^^^

This state is non-uniforming: depending on the starting wire, the token might end up at wire 11 or wire 22.

pic3final-small-2acea94b.png

3 1 1
1 2
-1

A uniforming state doesn't exist.

2 1 2
1 2
-1

A non-uniforming state doesn't exist.