#agc043e. [agc043_e]Topology

[agc043_e]Topology

Problem Statement

Given are a positive integer NN and a sequence of length 2N2^N consisting of 00s and 11s: A0,A1,ldots,A2N1A_0,A_1,\\ldots,A_{2^N-1}. Determine whether there exists a closed curve CC that satisfies the condition below for all 2N2^N sets Ssubseteq0,1,ldots,N1S \\subseteq \\{0,1,\\ldots,N-1 \\}. If the answer is yes, construct one such closed curve.

  • Let x=sumiinS2ix = \\sum_{i \\in S} 2^i and BSB_S be the set of points (i+0.5,0.5)iinS\\{ (i+0.5,0.5) | i \\in S \\}.
  • If there is a way to continuously move the closed curve CC without touching BSB_S so that every point on the closed curve has a negative yy-coordinate, Ax=1A_x = 1.
  • If there is no such way, Ax=0A_x = 0.

For instruction on printing a closed curve, see Output below.

Notes

CC is said to be a closed curve if and only if:

  • CC is a continuous function from \[0,1\] to mathbbR2\\mathbb{R}^2 such that C(0)=C(1)C(0) = C(1).

We say that a closed curve CC can be continuously moved without touching a set of points XX so that it becomes a closed curve DD if and only if:

  • There exists a function $f : \[0,1\] \\times \[0,1\] \\rightarrow \\mathbb{R}^2$ that satisfies all of the following.
    • ff is continuous.
    • f(0,t)=C(t)f(0,t) = C(t).
    • f(1,t)=D(t)f(1,t) = D(t).
    • f(x,t)notinXf(x,t) \\notin X.

Constraints

  • 1leqNleq81 \\leq N \\leq 8
  • Ai=0,1quad(0leqileq2N1)A_i = 0,1 \\quad (0 \\leq i \\leq 2^N-1)
  • A0=1A_0 = 1

Input

Input is given from Standard Input in the following format:

NN A0A1cdotsA2N1A_0A_1 \\cdots A_{2^N-1}

Output

If there is no closed curve that satisfies the condition, print Impossible.

If such a closed curve exists, print Possible in the first line. Then, print one such curve in the following format:

LL x0x_0 y0y_0 x1x_1 y1y_1 :: xLx_L yLy_L

This represents the closed polyline that passes (x0,y0),(x1,y1),ldots,(xL,yL)(x_0,y_0),(x_1,y_1),\\ldots,(x_L,y_L) in this order.

Here, all of the following must be satisfied:

  • 0leqxileqN0 \\leq x_i \\leq N, 0leqyileq10 \\leq y_i \\leq 1, and xi,yix_i, y_i are integers. (0leqileqL0 \\leq i \\leq L)
  • xixi+1+yiyi+1=1|x_i-x_{i+1}| + |y_i-y_{i+1}| = 1. (0leqileqL10 \\leq i \\leq L-1)
  • (x0,y0)=(xL,yL)(x_0,y_0) = (x_L,y_L).

Additionally, the length of the closed curve LL must satisfy 0leqLleq2500000 \\leq L \\leq 250000.

It can be proved that, if there is a closed curve that satisfies the condition in Problem Statement, there is also a closed curve that can be expressed in this format.


Sample Input 1

1
10

Sample Output 1

Possible
4
0 0
0 1
1 1
1 0
0 0

When S=emptysetS = \\emptyset, we can move this curve so that every point on it has a negative yy-coordinate.

When S=0S = \\{0\\}, we cannot do so.


Sample Input 2

2
1000

Sample Output 2

Possible
6
1 0
2 0
2 1
1 1
0 1
0 0
1 0

The output represents the following curve:


Sample Input 3

2
1001

Sample Output 3

Impossible

Sample Input 4

1
11

Sample Output 4

Possible
0
1 1