Untitled

mail@pastecode.io avatar
unknown
plain_text
7 months ago
40 kB
0
Indexable
Never
[PRO] Practice for Hash [E][H2232] [Pro] Protect the Island

[Problem Description]

There is one grid-shaped island.

The island consists of areas, all of which are sized 1 x 1.

The size of the island is N x N. The island is surrounded by ocean.



[Fig. 1]

[Fig. 1] is an example when N is 6.

The numbers are each area’s altitude.

 

The island is in danger of submerging into the ocean due to rising sea levels caused by global warming.

When the sea level rises by mSeaLevel, sea water can flood an area whose altitude is less or equal to mSeaLevel-1.

However, sea water can move onto the land only through four directions—left, right, up, and down.

In other words, it cannot move on diagonally.



[Fig. 2]

The image at the left of [Fig. 2] is when sea level rises by 1.

As there is NO area whose altitude is less or equal to 0, sea water cannot move onto the island.

The image at the right of [Fig. 2] is when sea level rises by 2.

As sea water can only move onto the island in four directions—left, right, up, and down, please note that an area whose altitude is 1 can also remain unsubmerged.



[Fig. 3]

The image at the left of [Fig. 3] is when sea level rises by 3. The image at the right is when sea level rises by 4.

When sea level rises by 5, all the areas will be submerged.

 

You want to check how much the island can be protected through a structure whose size is 1 x M.

The structure is in a form where M parts are connected to each other in a line.

The size of each part is 1 x 1.



[Fig. 4]

[Fig. 4] is an example of a structure whose M is 3.

The numbers are the height of each part.

 

A structure can be installed in the island. However, the structure MUST be installed to perfectly fit in M areas of the island.

The altitudes of M areas where a structure is installed increase by as much as the height of the structure.

After the altitudes are moved up, all the altitudes of M areas should be the same.

When it is expected that the altitudes are not the same, a structure cannot be installed.

For instance, a structure of [Fig. 4] cannot be installed in the red section of [Fig. 5].

This is because 1+2, 2+4, and 1+3 are different from each other.



[Fig. 5]

A structure of [Fig. 4] can be installed in the red section of [Fig. 6].

This is because 3+2, 1+4, and 2+3 are all the same.



[Fig. 6]

When a structure is installed in the red section of [Fig. 6], all the altitudes of the 3 areas where a structure is installed become 5.

 

The structure can be rotated 90 degrees, 180 degrees, and 270 degrees clockwise.



[Fig. 7]

Thus, a structure of [Fig. 4] can also be installed in the red sections of [Fig. 8].



[Fig. 8]

 

Implement each required function by referring to the following API description.

※ The function signature below is based on C/C++. As for other languages, refer to the provided Main and User Code.

 

The following is the description of API to be written in the User Code.

void init(int N, int mMap[][])

This function is called in the beginning of each test case.

 

The island is shaped like a square whose size is N x N. It consists of square-shaped areas whose sizes are 1 x 1.

The altitude of each area is as follows.

0

1

……

N-1

0

mMap[0][0]

mMap[0][1]

……

mMap[0][N-1]

1

mMap[1][0]

mMap[1][1]

……

mMap[1][N-1]

……

……

……

……

……

N-1

mMap[N-1][0]

mMap[N-1][1]

……

mMap[N-1][N-1]

 

Parameters

N : The length of one side of the island (5 ≤ N ≤ 20)

mMap : The altitude of each area in the island (1 ≤ mMap[][] ≤ 5)

int numberOfCandidate(int M, int mStructure[])

This function returns the number of outcomes that can occur when installing 1 Structure mStructure.

When all the installed areas are the same, this is regarded as the same outcome.

When even one of the installed areas is different, this is regarded as a different outcome.

 

The size of Structure mStructure is 1 x M and the structure is made up of square-shaped parts whose sizes are 1 x 1.

The height of each part is as follows.

0

1

……

M-1

mStructure[0]

mStructure[1]

……

mStructure[M-1]

 

Parameters

M : The size of structure (1 ≤ M ≤ 5)

mStructure : The height of each part of structure (1 ≤ mStructure[] ≤ 5)

 

Returns

The number of outcomes when structure installment is possible

int maxArea(int M, int mStructure[], int mSeaLevel)

Given that one Structure mStructure is installed so that the number of unsubmerged areas is at the maximum, even when sea level rises by mSeaLevel, this function returns the number of unsubmerged areas.

 

When there is NO way to install Structure mStructure, this function returns -1.

 

The size of Structure mStructure is 1 x M. The structure consists of square-shaped parts whose sizes are 1 x 1.

The height of each part is as follows.

0

1

……

M-1

mStructure[0]

mStructure[1]

……

mStructure[M-1]

 

Please note that a structure is NOT actually installed.

In other words, the altitude of each area in the island maintains its state in init() in each test case.

 

Parameters

M : The size of structure (1 ≤ M ≤ 5)

mStructure : The height of each part of the structure (1 ≤ mStructure[] ≤ 5)

mSeaLevel : The rise of sea level (1 ≤ mSeaLevel ≤ 10)

 

Returns

The maximum number of areas

 

 

[Example]

 

Order

Function

Return

Figure

1

init(6,

{{1, 2, 1, 5, 5, 5},

{3, 1, 3, 1, 1, 5},

{1, 4, 5, 5, 5, 5},

{2, 1, 1, 1, 4, 5},

{1, 4, 5, 5, 5, 5},

{3, 2, 3, 4, 1, 2}})

 

[Fig. 9]

2

numberOfCandidate(3, {4, 3, 4})

2

[Fig. 9]

3

numberOfCandidate(1, {4})

36

 

[Table 1]



[Fig. 9]

 

Order

Function

Return

Figure

4

maxArea(5, {1, 5, 1, 3, 5}, 4)

23

[Fig. 10]

5

numberOfCandidate(3, {1, 1, 1})

9

[Fig. 10]

[Table 2]



[Fig. 10]

 

Order

Function

Return

Figure

6

maxArea(3, {5, 2, 3}, 6)

3

[Fig. 11]

7

maxArea(2, {1, 4}, 5)

18

[Fig. 11]

8

maxArea(5, {5, 5, 4, 5, 5}, 5)

-1

 

[Table 3]



[Fig. 11]

 

Order

Function

Return

Figure

9

numberOfCandidate(2, {5, 2})

8

[Fig. 12]

10

numberOfCandidate(5, {2, 5, 5, 5, 4})

1

[Fig. 12]

11

numberOfCandidate(5, {1, 2, 1, 2, 1})

0

 

12

maxArea(2, {1, 4}, 10)

0

 

[Table 4]



[Fig. 12]

 

 


[Constraints]

1. init() is called in the beginning of each test case.

2. For each test case, numberOfCandidate() is called up to 150,000 times.

3. For each test case, maxArea() is called up to 50 times.

4. For each test case, the total sum of the number of outcomes Structure mStructure of maxArea() can be installed is less or equal to 5,000.

 

 

[Input and Output]

As the input and output are processed in the provided code in the Main, they are not processed separately in the User Code.

The output result for the sample input is in the format of “#TC number result.” It is the correct answer if the result is 100; it is the wrong answer if it is 0.


*** 


#ifndef _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS
#endif

#include <stdio.h>

#define CMD_INIT 1
#define CMD_NUMBER_OF_CANDIDATE 2
#define CMD_MAX_AREA 3

extern void init(int N, int mMap[20][20]);
extern int numberOfCandidate(int M, int mStructure[5]);
extern int maxArea(int M, int mStructure[5], int mSeaLevel);

/////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////

static int mMap[20][20];
static int mStructure[5];

static bool run()
{
	int numQuery;
	int N, M, mSeaLevel;
	int userAns, ans;

	bool isCorrect = false;

	scanf("%d", &numQuery);

	for (int i = 0; i < numQuery; ++i)
	{
		int cmd;
		scanf("%d", &cmd);

		switch (cmd)
		{
		case CMD_INIT:
			scanf("%d", &N);
			for (int j = 0; j < N; j++)
				for (int k = 0; k < N; k++)
					scanf("%d", &mMap[j][k]);
			init(N, mMap);
			isCorrect = true;
			break;
		case CMD_NUMBER_OF_CANDIDATE:
			scanf("%d", &M);
			for (int j = 0; j < M; j++)
				scanf("%d", &mStructure[j]);
			userAns = numberOfCandidate(M, mStructure);
			scanf("%d", &ans);
			if (userAns != ans)
			{
				isCorrect = false;
			}
			break;
		case CMD_MAX_AREA:
			scanf("%d", &M);
			for (int j = 0; j < M; j++)
				scanf("%d", &mStructure[j]);
			scanf("%d", &mSeaLevel);
			userAns = maxArea(M, mStructure, mSeaLevel);
			scanf("%d", &ans);
			if (userAns != ans)
			{
				isCorrect = false;
			}
			break;
		default:
			isCorrect = false;
			break;
		}
	}
	return isCorrect;
}

int main()
{
	setbuf(stdout, NULL);
	// freopen("sample_input.txt", "r", stdin);

	int T, MARK;
	scanf("%d %d", &T, &MARK);

	for (int tc = 1; tc <= T; tc++)
	{
		int score = run() ? MARK : 0;
		printf("#%d %d\n", tc, score);
	}

	return 0;
}


***


void init(int N, int mMap[20][20])
{
}

int numberOfCandidate(int M, int mStructure[5])
{
	return 0;
}

int maxArea(int M, int mStructure[5], int mSeaLevel)
{
	return 0;
}

***
#include <bits/stdc++.h>
using namespace std;
  
int Map[23][23];
int n;
  
int dx[] = { 1, -1, 0, 0 };
int dy[] = { 0, 0, 1, -1 };
  
struct Data {
    int r;
    int c;
    int dir;
};
unordered_map<int, vector<Data>> hmap;
  
int getkeyL(vector<int> v, bool rev) {
    int minV = *min_element(v.begin(), v.end()) - 1;
    int key = 0;
  
    for (int i = 0; i < v.size(); i++) {
        if (rev == 0) {
            key = key * 10 + (v[i] - minV);
        }
        else {
            key = key * 10 + (v[v.size() - i - 1] - minV);
        }
    }
    return key;
}
  
int getkeyH(int s[], int M) {
    int maxV = *max_element(s, s+M) + 1;
    int key = 0;
  
    for (int i = 0; i < M; i++) {
        key = 10 * key + (maxV - s[i]);
    }
    return key;
}
  
int bfs(int level) {
    bool visit[23][23] = { false, };
    int y[501];
    int x[501];
    int front = 0;
    int back = 0;
  
    y[back] = 0;
    x[back++] = 0;
    visit[0][0] = true;
  
    while (back != front) {
        int r = y[front];
        int c = x[front++];
        for (int k = 0; k < 4; k++) {
            int nr = r + dy[k];
            int nc = c + dx[k];
            if (nr < 0 || nr > n+1 || nc < 0 || nc > n+1) continue;
            if (visit[nr][nc] || Map[nr][nc] >= level) continue;
            visit[nr][nc] = true;
            y[back] = nr;
            x[back++] = nc;
        }
    }
  
  
    return (n + 2) * (n + 2) - back;
}
  
  
void init(int N, int mMap[20][20])
{
    hmap.clear();
  
    for (int i = 0; i <= N+1; i++) {
        for (int j = 0; j <= N+1; j++) {
            if (i == 0 || i == N + 1 || j == 0 || j == N + 1)
                Map[i][j] = 0;
            else
                Map[i][j] = mMap[i-1][j-1];
        }
    }
    n = N;
  
    for (int i = 1; i <= N; i++) {
        for (int j = 1; j <= N; j++) {
            vector<int> v1,v2;
            int k1, k2;
  
            for (int k = j; k < j+5 && k <= N; k++) {
                v1.push_back(Map[i][k]);
                v2.push_back(Map[k][i]);
  
                k1 = getkeyL(v1, 0);
                k2 = getkeyL(v1, 1);
                hmap[k1].push_back({ i, j, 0 });
                if (k == j) continue;
                if (k1 != k2) hmap[k2].push_back({ i, k, 1 });
  
                k1 = getkeyL(v2, 0);
                k2 = getkeyL(v2, 1);
                hmap[k1].push_back({ j, i, 2 });
                if (k1 != k2) hmap[k2].push_back({ k, i, 3 });
  
            }
        }
    }
}
  
int numberOfCandidate(int M, int mStructure[5])
{
    return hmap[getkeyH(mStructure, M)].size();
}
  
int maxArea(int M, int mStructure[5], int mSeaLevel)
{
    int ret = -1;
    for (Data d : hmap[getkeyH(mStructure, M)]) {
        for (int i = 0; i < M; i++) {
            Map[d.r + dy[d.dir] * i][d.c + dx[d.dir] * i] += mStructure[i];
        }
        ret = max(ret, bfs(mSeaLevel));
        for (int i = 0; i < M; i++) {
            Map[d.r + dy[d.dir] * i][d.c + dx[d.dir] * i] -= mStructure[i];
        }
    }
    return ret;
}

***

25 100
12
1 6 1 2 1 5 5 5 3 1 3 1 1 5 1 4 5 5 5 5 2 1 1 1 4 5 1 4 5 5 5 5 3 2 3 4 1 2
2 3 4 3 4 2
2 1 4 36
3 5 1 5 1 3 5 4 23
2 3 1 1 1 9
3 3 5 2 3 6 3
3 2 1 4 5 18
3 5 5 5 4 5 5 5 -1
2 2 5 2 8
2 5 2 5 5 5 4 1
2 5 1 2 1 2 1 0
3 2 1 4 10 0
1011
1 10 3 1 1 4 5 5 2 2 1 4 5 5 2 3 1 2 4 1 3 4 1 2 2 5 4 3 4 4 1 3 2 4 5 4 1 2 3 1 1 4 5 4 3 4 1 2 5 3 1 1 3 1 1 3 3 4 1 5 1 1 2 5 1 1 4 3 1 1 4 1 4 5 4 4 1 3 2 3 5 4 2 4 3 1 5 2 3 3 4 1 3 1 4 5 1 5 3 5 5 5
2 3 3 4 3 6
2 3 4 3 3 12
2 2 3 3 35
2 2 4 4 35
2 2 3 1 38
2 2 3 4 52
2 1 1 100
2 3 5 1 3 4
2 2 4 4 35
2 3 2 1 1 12
2 5 3 3 1 2 2 1
2 2 5 1 16
2 4 2 2 3 5 1
2 5 4 3 3 2 2 0
2 2 5 3 38
2 2 2 3 52
2 2 2 4 38
2 3 2 2 2 4
2 2 4 3 52
2 2 5 2 39
2 3 4 3 5 7
2 2 3 5 38
2 2 4 5 52
2 4 1 5 2 3 2
2 1 1 100
2 2 5 4 52
2 2 1 1 35
2 3 2 3 3 7
2 3 5 3 3 5
2 3 5 2 3 8
2 4 3 3 2 3 2
2 4 1 2 5 4 1
2 3 4 4 1 12
2 4 2 1 4 1 0
2 4 2 4 2 2 1
2 2 4 5 52
2 1 1 100
2 5 5 4 3 5 5 1
2 2 1 2 52
3 2 3 4 4 53
2 2 4 5 52
2 5 5 4 4 1 2 1
2 2 1 4 39
2 4 3 3 4 3 2
2 3 4 5 5 7
2 2 4 5 52
2 3 1 1 4 5
2 2 1 5 16
2 2 4 3 52
2 3 3 3 4 12
2 2 3 4 52
2 4 2 5 1 1 1
2 5 5 4 3 4 1 0
2 2 3 1 38
2 2 4 5 52
2 3 5 1 1 1
2 5 3 5 5 1 2 0
2 2 2 5 39
2 2 1 5 16
2 3 4 2 5 4
2 2 1 5 16
2 1 1 100
2 2 3 3 35
2 2 1 5 16
2 4 3 2 3 1 0
2 2 2 4 38
2 4 5 3 3 1 1
2 3 1 2 4 6
2 3 1 3 5 3
2 3 5 2 2 5
2 3 1 2 5 5
2 3 1 5 1 1
2 5 4 3 1 1 2 0
2 2 5 3 38
2 3 2 3 4 4
2 2 5 3 38
2 4 3 4 5 3 0
2 3 4 5 5 7
2 2 1 1 35
2 4 2 5 2 2 0
2 1 3 100
2 4 2 3 2 4 1
2 5 3 5 2 3 2 0
2 3 2 2 4 5
2 3 3 3 5 5
2 2 5 5 35
2 2 5 3 38
2 3 4 1 4 5
2 3 3 1 1 5
2 2 2 5 39
2 3 3 1 4 4
2 5 3 4 2 4 1 0
2 2 5 4 52
2 1 2 100
2 1 3 100
2 4 2 5 1 1 1
2 3 2 2 5 5
2 5 3 2 3 5 2 0
2 4 5 4 5 3 0
2 3 5 3 5 2
2 2 5 4 52
2 5 4 1 5 2 4 0
2 2 5 4 52
2 3 3 1 5 4
2 2 4 3 52
2 4 4 5 2 3 1
2 3 2 2 3 12
2 2 4 3 52
2 4 5 2 3 4 1
2 2 3 2 52
2 3 3 4 3 6
2 3 1 3 3 11
2 4 4 2 4 1 0
2 4 4 1 1 2 2
2 2 3 2 52
2 4 5 1 4 2 1
2 1 4 100
2 3 4 3 1 3
2 2 1 1 35
2 2 3 4 52
2 4 2 5 3 4 1
2 3 4 3 5 7
2 3 1 4 5 2
2 2 4 5 52
2 4 1 4 3 1 0
2 3 1 1 2 12
2 5 2 5 5 5 2 1
2 3 3 5 3 1
2 1 5 100
2 3 1 5 5 3
2 1 5 100
2 5 1 1 5 3 2 0
2 3 1 5 5 3
2 5 4 4 1 3 5 1
2 3 3 2 5 8
2 4 4 3 4 4 2
2 4 3 4 1 4 1
2 2 1 5 16
2 4 2 3 3 4 3
2 5 1 4 4 2 1 2
2 5 5 4 3 5 3 0
2 2 5 5 35
2 4 4 1 3 5 2
2 2 1 1 35
2 2 3 2 52
2 4 4 4 1 3 1
2 2 4 2 38
2 2 3 5 38
2 5 3 3 1 1 1 0
2 4 5 2 2 4 1
2 4 1 1 5 4 0
2 3 4 5 2 8
2 3 1 4 4 12
2 3 1 2 4 6
2 2 3 2 52
2 4 4 4 2 4 1
2 2 5 2 39
2 4 5 2 1 5 1
2 4 1 5 4 2 0
2 5 4 2 1 2 2 0
2 3 1 4 1 0
2 2 4 4 35
2 3 2 1 1 12
2 2 3 1 38
2 3 1 3 2 5
2 1 2 100
2 2 2 5 39
2 3 1 1 1 4
2 3 4 3 4 4
2 2 1 1 35
2 4 3 3 5 2 1
2 2 5 1 16
2 2 2 5 39
2 2 4 1 39
2 3 1 3 5 3
2 4 4 3 1 4 2
2 4 3 4 1 2 1
2 4 2 2 3 5 1
2 3 2 1 5 1
2 3 2 3 5 6
2 3 5 5 4 7
2 3 5 1 1 1
2 3 4 3 5 7
2 2 5 3 38
2 4 3 2 2 5 2
2 4 3 3 4 1 3
2 4 1 2 3 2 2
2 4 4 3 4 1 1
2 1 2 100
2 3 3 2 5 8
2 1 3 100
2 1 3 100
2 5 5 2 2 3 1 0
2 3 5 3 3 5
2 4 2 2 5 1 1
2 2 2 1 52
2 2 5 1 16
2 3 2 2 5 5
2 3 1 4 4 12
2 2 2 5 39
2 2 3 1 38
2 3 2 4 2 1
2 1 1 100
2 3 3 4 3 6
2 3 2 2 4 5
2 3 4 4 2 11
2 1 1 100
2 4 2 3 3 4 3
2 4 1 1 4 4 1
2 2 5 4 52
2 2 3 2 52
2 2 3 5 38
2 2 1 1 35
2 4 4 2 2 2 1
2 4 2 3 1 1 0
2 3 1 3 3 11
2 5 2 5 1 2 1 0
2 5 5 2 2 4 3 0
2 4 4 5 3 5 2
2 4 5 3 2 2 1
2 5 1 5 1 3 1 1
2 5 2 2 4 4 4 0
2 3 5 5 2 12
2 2 4 1 39
2 3 4 4 2 11
2 3 2 3 1 5
3 3 5 3 1 2 89
2 2 3 5 38
2 3 2 2 2 4
2 5 1 1 2 5 5 1
2 3 5 4 3 4
2 4 2 4 1 4 2
2 3 1 5 4 1
2 3 4 5 5 7
2 4 1 1 1 1 1
2 3 2 2 4 5
2 2 1 4 39
2 4 3 3 4 2 1
2 4 3 4 3 3 2
2 2 3 3 35
2 4 1 4 4 1 0
2 3 5 1 5 2
2 2 4 1 39
2 3 1 2 1 6
2 4 2 1 4 4 4
2 2 1 4 39
2 3 4 1 2 8
2 4 5 4 5 4 1
2 3 4 5 5 7
2 3 1 5 3 2
2 3 1 2 5 5
2 2 4 4 35
2 4 5 5 4 3 1
2 4 4 5 1 1 0
2 2 5 3 38
2 5 1 4 5 2 2 0
2 2 3 1 38
2 1 5 100
2 3 5 5 5 4
2 2 1 3 38
2 2 2 5 39
2 4 3 5 2 1 1
2 2 2 2 35
2 3 1 1 4 5
2 1 2 100
2 3 4 4 5 12
3 2 3 3 4 54
2 2 2 1 52
2 2 4 1 39
2 4 3 2 3 5 1
2 5 5 5 2 1 2 1
2 3 1 4 3 8
2 4 2 1 5 1 1
2 5 5 3 5 3 1 0
2 5 5 1 4 2 5 0
2 1 5 100
2 5 2 5 3 2 4 0
2 3 5 4 3 4
2 3 3 3 5 5
2 3 2 1 2 4
2 3 4 1 4 5
2 3 3 4 3 6
2 2 1 4 39
2 3 2 4 2 1
2 2 1 3 38
2 2 4 1 39
3 4 1 4 1 3 5 -1
2 2 4 4 35
2 5 5 3 3 2 2 0
2 4 2 5 5 1 1
2 2 4 1 39
2 4 4 1 4 4 3
2 3 1 5 3 2
2 3 5 1 5 2
2 2 5 1 16
2 4 1 3 1 5 1
2 3 4 3 3 12
2 3 3 5 4 5
2 4 3 3 5 5 1
2 5 5 2 3 3 5 1
2 2 5 4 52
2 1 4 100
2 4 1 2 5 3 1
2 5 4 1 4 1 5 0
2 3 1 4 4 12
2 4 1 5 5 2 1
2 1 2 100
2 2 1 1 35
2 3 1 4 5 2
2 2 5 5 35
2 3 2 2 3 12
2 5 1 4 1 2 2 0
2 2 5 5 35
2 2 4 3 52
2 5 3 2 3 3 1 1
2 4 4 5 2 2 1
2 3 1 1 5 1
2 2 3 2 52
2 4 5 4 5 2 1
2 1 1 100
2 5 2 2 5 1 1 1
2 5 2 4 1 5 2 0
2 4 1 4 5 3 0
2 4 3 1 5 1 1
3 2 5 4 5 20
2 3 2 4 1 7
2 3 3 1 2 7
2 4 5 1 2 3 0
2 2 5 1 16
2 3 1 4 5 2
2 4 2 1 4 4 4
2 2 1 2 52
2 3 1 3 5 3
2 1 5 100
2 1 2 100
2 4 3 1 3 3 1
2 3 5 2 2 5
2 2 1 5 16
2 1 2 100
2 2 1 2 52
2 4 5 1 5 5 1
2 3 1 5 5 3
2 2 4 4 35
2 4 4 4 2 3 2
2 4 4 2 5 3 1
2 5 3 3 4 3 2 1
2 2 1 4 39
2 3 1 2 3 4
2 4 3 2 1 3 1
2 1 5 100
2 2 1 4 39
2 3 4 3 3 12
2 2 1 3 38
2 4 1 1 3 1 1
2 4 4 1 1 3 1
2 3 3 2 3 4
2 1 3 100
2 4 5 4 5 4 1
2 5 5 4 1 5 3 0
2 3 5 1 3 4
2 3 2 1 1 12
2 3 4 4 1 12
2 5 1 3 5 2 5 1
2 5 3 2 2 4 5 0
2 3 2 1 3 7
2 4 5 1 1 4 0
2 2 5 2 39
2 3 3 2 2 12
2 2 2 2 35
2 3 4 5 5 7
2 2 4 3 52
2 3 2 3 5 6
2 2 1 3 38
2 3 3 3 2 7
2 3 3 4 1 8
2 3 5 5 3 11
2 2 4 5 52
2 3 1 3 4 3
2 2 2 4 38
2 4 5 4 5 2 1
2 3 3 2 2 12
2 2 1 2 52
2 3 3 3 3 4
2 2 5 2 39
2 4 3 4 3 4 1
2 2 3 2 52
2 3 3 2 4 7
2 4 5 2 2 4 1
2 2 4 4 35
2 4 3 4 2 2 0
2 4 2 1 4 4 4
2 3 2 2 3 12
2 3 3 2 5 8
2 4 1 4 3 4 1
2 2 2 4 38
2 1 1 100
2 2 4 4 35
2 4 2 1 3 3 2
2 3 5 4 4 12
2 3 3 1 3 2
2 4 3 1 1 1 1
2 3 2 2 5 5
2 2 3 1 38
2 2 1 4 39
2 3 1 1 4 5
2 3 1 3 4 3
2 2 3 1 38
2 2 2 4 38
2 2 1 1 35
2 2 3 1 38
2 3 3 1 4 4
2 2 2 5 39
2 2 2 4 38
2 3 3 1 3 2
2 3 2 2 2 4
2 4 1 1 4 3 1
2 2 1 5 16
2 3 1 2 4 6
2 3 1 3 5 3
2 5 3 4 1 3 2 0
2 3 4 5 1 1
2 3 5 3 2 6
2 1 4 100
2 3 1 5 4 1
2 2 5 3 38
2 3 5 5 3 11
2 2 5 1 16
2 3 2 1 2 4
2 2 1 5 16
2 2 5 3 38
2 2 2 5 39
2 3 1 2 2 7
2 2 4 3 52
2 2 4 5 52
2 3 3 5 4 5
2 4 3 1 1 1 1
2 4 1 4 5 2 1
2 5 4 4 3 5 4 1
2 2 1 4 39
2 5 5 2 5 1 4 0
2 2 4 3 52
2 1 4 100
2 4 3 3 4 5 1
2 5 1 4 3 3 1 0
2 2 4 1 39
2 5 3 5 3 5 2 0
2 2 3 2 52
2 3 1 5 2 6
2 3 5 2 1 5
2 2 3 1 38
2 2 5 1 16
2 3 4 1 5 3
2 2 3 3 35
2 3 4 2 2 5
2 3 4 2 3 7
2 4 5 5 3 4 2
2 3 3 5 1 2
2 5 4 5 5 3 4 1
2 2 2 4 38
2 3 3 3 4 12
2 3 1 5 2 6
2 2 1 3 38
2 3 1 5 3 2
2 2 3 1 38
2 1 1 100
2 1 2 100
2 3 3 1 5 4
2 2 1 5 16
2 2 5 3 38
2 3 5 5 1 3
2 4 2 2 1 2 2
2 4 2 3 4 4 1
2 3 3 3 4 12
2 2 5 4 52
2 3 5 2 4 4
2 1 3 100
2 3 1 5 2 6
2 2 1 3 38
2 3 3 3 5 5
2 3 2 4 4 11
2 2 2 2 35
2 2 3 1 38
2 2 1 5 16
2 3 5 3 1 3
2 2 4 5 52
2 3 3 1 5 4
2 2 5 1 16
2 2 5 4 52
2 3 2 4 1 7
2 4 5 2 5 3 2
2 3 5 3 2 6
2 2 3 5 38
2 3 2 2 3 12
2 1 1 100
2 4 3 5 4 5 0
2 4 4 5 2 3 1
2 3 2 1 5 1
2 3 2 3 4 4
2 5 3 5 3 3 3 1
2 2 2 2 35
2 3 4 2 1 6
2 2 4 2 38
2 3 4 3 1 3
2 5 4 1 5 4 5 0
2 3 2 1 4 8
2 5 5 1 4 1 3 0
2 1 1 100
2 2 3 1 38
2 1 3 100
2 1 3 100
2 3 1 5 4 1
2 1 2 100
2 2 4 3 52
2 4 3 5 4 2 2
2 2 2 5 39
2 3 5 5 3 11
2 4 3 4 3 2 2
2 5 1 2 4 1 2 0
2 4 5 3 4 4 2
2 2 4 1 39
2 3 3 3 4 12
2 2 5 5 35
2 5 5 4 4 1 1 1
2 4 3 3 4 2 1
2 4 2 4 4 4 1
2 4 4 1 3 3 0
2 2 2 4 38
2 5 5 2 2 1 5 0
2 2 1 5 16
2 3 1 5 2 6
2 3 3 1 5 4
2 2 1 4 39
2 2 3 4 52
2 4 5 5 2 2 1
2 2 2 1 52
2 3 4 1 1 5
2 3 1 5 5 3
2 4 5 1 4 2 1
2 2 4 3 52
2 2 5 3 38
2 2 2 5 39
2 2 4 3 52
2 2 1 2 52
2 4 2 5 4 1 1
2 3 3 3 1 11
2 4 3 2 4 1 1
2 4 2 4 1 5 1
2 2 4 1 39
2 5 4 3 4 2 3 0
2 2 5 3 38
2 3 2 4 5 3
2 3 2 3 4 4
2 2 4 3 52
2 3 3 2 4 7
2 4 5 5 2 3 4
2 3 1 5 5 3
2 4 2 3 1 3 2
2 2 4 3 52
2 4 5 2 1 1 2
2 2 4 4 35
2 3 5 2 3 8
2 3 2 5 3 7
2 2 3 3 35
2 5 3 1 4 4 1 0
2 3 5 2 4 4
2 3 2 1 2 4
2 2 2 2 35
2 2 3 2 52
2 2 4 4 35
2 4 4 2 3 2 1
2 5 3 1 5 1 2 1
2 5 3 2 5 4 1 1
2 4 2 3 3 1 1
2 4 5 3 5 1 0
2 5 4 4 4 1 4 1
2 3 5 4 1 2
2 4 4 5 4 5 1
2 4 2 5 1 5 2
2 4 3 4 2 3 2
2 4 2 4 5 4 1
2 1 1 100
2 3 3 1 5 4
2 4 1 3 3 3 1
2 3 5 2 4 4
2 5 4 4 2 4 3 0
2 2 5 4 52
2 3 4 2 3 7
2 3 1 5 4 1
2 2 3 3 35
2 3 3 4 3 6
2 2 3 2 52
2 5 2 2 3 2 5 1
2 3 2 1 2 4
2 3 4 5 3 5
2 3 3 5 2 7
2 5 2 4 2 2 2 1
3 5 4 1 3 4 3 3 -1
2 1 5 100
2 2 1 5 16
2 2 1 4 39
2 2 5 3 38
2 2 2 1 52
2 3 2 2 2 4
2 3 2 1 5 1
2 3 3 4 3 6
2 1 3 100
2 3 1 2 4 6
2 3 4 1 5 3
2 3 3 5 2 7
2 4 4 5 3 1 0
2 4 4 5 4 2 1
2 2 5 5 35
2 3 4 4 5 12
2 2 3 2 52
2 2 1 2 52
2 3 1 1 4 5
2 2 4 1 39
2 5 2 1 2 5 5 1
2 4 5 5 1 1 0
2 5 4 4 2 3 3 1
2 3 2 3 2 6
2 4 3 5 2 1 1
2 3 5 2 1 5
2 4 1 4 2 1 2
2 3 3 3 2 7
2 1 2 100
2 3 4 2 4 2
2 1 4 100
2 3 1 2 1 6
2 3 5 3 2 6
2 4 3 1 1 2 1
2 3 3 1 2 7
2 4 1 3 3 5 1
2 1 1 100
2 3 5 1 5 2
2 1 4 100
2 3 3 5 1 2
2 3 1 2 3 4
2 3 1 1 3 5
2 3 1 4 4 12
2 4 4 3 5 5 2
2 2 5 4 52
2 2 2 1 52
2 2 3 1 38
2 3 5 2 1 5
2 4 4 2 1 3 1
2 3 4 4 3 7
2 3 4 2 4 2
2 4 4 1 4 2 2
2 3 5 4 1 2
2 2 2 4 38
2 4 1 5 2 5 3
2 2 3 1 38
2 3 2 2 4 5
2 1 1 100
3 2 5 2 2 88
2 2 3 4 52
2 1 1 100
2 3 4 4 1 12
2 2 3 5 38
2 4 4 2 1 2 1
2 2 5 5 35
2 2 5 2 39
2 4 2 5 3 2 2
2 3 4 1 2 8
2 3 4 5 4 6
2 2 3 3 35
2 2 5 5 35
2 4 4 4 5 2 3
2 3 2 5 3 7
2 2 1 2 52
2 2 4 5 52
2 4 2 2 5 5 1
2 3 3 4 3 6
2 3 4 3 5 7
2 1 2 100
2 3 5 5 4 7
2 3 2 5 1 6
2 3 1 2 3 4
2 3 3 3 3 4
2 2 4 1 39
2 3 2 3 4 4
2 5 3 4 4 4 2 0
2 3 1 5 2 6
2 2 2 5 39
2 3 3 1 5 4
2 5 5 5 3 5 4 0
2 3 2 4 4 11
2 2 5 5 35
2 3 5 3 1 3
2 3 1 5 1 1
2 3 5 4 5 4
2 4 2 2 2 4 1
2 3 2 4 1 7
2 3 1 4 4 12
2 3 4 5 5 7
2 4 2 5 1 5 2
2 3 3 5 2 7
2 2 2 2 35
2 3 1 3 2 5
2 2 3 4 52
2 2 4 2 38
2 2 1 2 52
2 5 4 4 1 1 5 0
2 2 1 4 39
2 4 2 4 5 5 0
2 4 2 2 2 5 0
2 5 4 2 2 4 4 0
2 3 4 5 5 7
2 4 3 3 3 1 1
2 4 5 4 5 5 2
2 5 4 4 1 3 4 0
2 1 3 100
2 3 2 5 3 7
2 2 4 5 52
2 5 3 1 2 2 3 2
2 1 3 100
2 2 3 3 35
2 4 4 3 2 5 1
2 3 4 5 4 6
2 3 1 4 4 12
2 3 4 3 1 3
2 2 1 4 39
2 4 1 1 2 3 1
2 2 5 5 35
2 2 1 4 39
2 4 2 5 1 1 1
2 3 4 4 1 12
2 4 3 3 5 5 1
2 2 1 3 38
2 4 4 3 2 5 1
2 3 1 5 4 1
2 3 2 4 5 3
2 4 1 1 2 4 1
2 2 1 4 39
2 2 5 5 35
2 2 4 4 35
2 3 4 4 5 12
2 2 2 5 39
2 2 3 4 52
2 5 5 3 3 2 5 1
2 4 3 1 3 2 2
2 2 1 5 16
2 2 3 4 52
2 2 4 5 52
2 2 1 1 35
2 2 1 3 38
2 3 4 4 2 11
2 4 5 2 1 1 2
2 3 2 4 1 7
2 3 2 5 4 8
2 4 3 3 3 3 1
2 1 3 100
2 4 2 3 3 3 0
2 4 3 2 5 1 2
2 1 4 100
2 5 4 4 3 5 4 1
2 2 2 3 52
2 3 4 2 4 2
2 4 2 2 1 2 2
2 3 5 3 2 6
2 3 5 3 4 7
2 2 4 5 52
2 4 2 2 4 2 1
2 4 5 1 3 2 1
2 3 1 1 2 12
2 4 5 5 3 4 2
2 4 3 2 4 5 1
2 3 2 5 1 6
2 4 1 1 1 1 1
2 2 3 2 52
2 4 5 3 5 3 0
2 5 5 5 2 2 2 0
2 3 4 4 1 12
2 3 1 4 2 7
2 1 4 100
2 3 2 1 4 8
2 3 1 5 1 1
2 4 3 2 5 1 2
2 3 1 2 5 5
2 1 4 100
2 4 3 1 2 4 1
2 3 5 1 2 1
3 4 2 3 2 4 4 50
2 1 3 100
2 3 1 3 4 3
2 2 5 3 38
2 3 2 4 4 11
2 4 5 1 5 2 2
2 3 5 3 3 5
2 4 5 4 1 2 0
2 2 5 5 35
2 4 5 2 4 5 2
2 3 5 5 1 3
2 3 2 2 5 5
2 2 2 3 52
2 2 3 1 38
2 4 3 3 2 5 2
2 5 2 3 3 5 5 1
2 3 5 4 3 4
2 2 1 1 35
2 3 4 1 1 5
2 3 3 3 3 4
2 3 5 4 1 2
2 3 1 5 2 6
2 5 1 4 3 4 4 1
2 2 1 3 38
2 4 3 1 5 5 1
2 3 3 2 1 4
2 5 2 3 3 5 5 1
2 4 3 1 2 2 2
2 3 4 2 4 2
2 2 3 5 38
2 2 4 4 35
2 5 4 1 3 2 2 0
2 2 1 1 35
2 2 4 3 52
2 4 2 2 2 2 1
2 3 1 4 2 7
2 3 4 1 3 4
2 2 2 1 52
2 2 1 4 39
2 2 1 4 39
2 4 4 2 1 1 1
2 4 3 5 1 2 0
2 2 2 5 39
2 4 2 2 3 5 1
2 2 5 3 38
2 1 4 100
2 1 5 100
2 5 5 4 2 3 2 0
2 3 3 3 3 4
2 2 1 1 35
2 3 1 3 5 3
2 5 2 3 5 4 4 0
2 3 3 5 4 5
2 2 2 2 35
2 2 5 4 52
2 3 1 1 1 4
2 2 3 5 38
2 4 3 4 3 3 2
2 4 1 2 4 4 2
2 3 4 3 5 7
2 3 4 2 4 2
2 2 4 5 52
2 1 4 100
2 3 4 1 4 5
2 3 3 3 5 5
2 3 4 2 2 5
2 2 3 1 38
2 2 3 1 38
2 4 2 2 2 1 0
2 2 4 4 35
2 4 1 3 3 1 1
2 3 4 2 2 5
2 1 3 100
2 3 1 2 5 5
2 3 4 4 3 7
2 3 2 4 5 3
2 2 3 5 38
2 4 1 4 5 2 1
2 2 3 4 52
2 4 1 1 3 2 0
2 2 5 4 52
2 4 3 2 1 3 1
2 4 2 3 1 5 1
2 5 4 1 5 3 2 1
2 5 2 2 4 1 2 0
2 3 1 1 1 4
2 4 4 1 3 4 2
2 2 5 2 39
2 1 5 100
2 3 2 3 1 5
2 3 1 4 5 2
2 3 2 4 3 5
2 2 1 1 35
2 3 2 4 5 3
2 2 1 5 16
2 4 5 1 1 3 0
2 4 3 3 1 2 2
2 2 2 3 52
2 3 5 3 5 2
2 5 5 4 5 4 1 0
2 3 4 1 1 5
2 3 4 2 4 2
2 2 1 3 38
2 4 2 5 5 1 1
2 2 5 3 38
2 3 3 2 1 4
2 4 1 1 2 4 1
2 3 5 5 2 12
2 2 5 5 35
2 2 1 3 38
2 4 1 4 3 3 3
2 2 5 4 52
2 4 2 4 2 2 1
2 4 3 1 3 2 2
2 3 4 5 3 5
2 5 1 4 3 5 4 1
2 2 5 4 52
2 5 1 1 1 3 1 1
2 2 3 1 38
2 3 1 2 4 6
2 2 5 4 52
2 5 4 1 1 3 2 0
2 1 1 100
2 3 4 5 5 7
2 4 1 1 5 4 0
2 5 1 2 3 2 3 0
2 3 2 4 5 3
2 3 2 4 3 5
2 1 3 100
2 3 3 3 3 4
2 2 1 3 38
2 4 4 1 2 5 0
2 3 1 5 5 3
2 5 3 4 1 2 1 1
2 2 4 5 52
2 2 3 5 38
2 1 3 100
2 2 4 4 35
2 2 5 5 35
2 2 2 4 38
2 4 5 3 1 5 1
2 4 2 5 2 3 0
2 5 5 3 3 2 5 1
2 2 2 5 39
2 2 3 1 38
2 5 2 2 1 3 2 1
2 2 4 5 52
2 4 4 1 4 1 0
2 3 3 2 2 12
2 2 3 2 52
2 2 3 4 52
2 3 4 5 1 1
2 3 4 4 4 4
2 4 1 1 3 1 1
2 4 2 2 3 4 1
2 5 5 5 5 3 5 1
2 3 2 1 4 8
2 2 3 4 52
2 2 4 4 35
2 4 3 3 3 4 0
2 2 5 5 35
2 1 4 100
2 5 5 5 1 3 2 1
2 3 2 4 2 1
2 3 1 3 1 1
2 4 2 5 5 3 5
2 2 4 2 38
2 2 2 1 52
2 3 3 3 1 11
2 4 1 2 3 2 2
2 4 3 4 5 5 1
2 2 2 5 39
2 5 5 3 5 3 1 0
2 5 1 1 5 2 2 1
2 5 3 3 3 2 3 0
2 4 4 3 4 5 0
3 5 3 5 1 1 3 5 -1
2 4 4 5 5 3 1
2 2 5 3 38
2 4 5 4 4 2 0
2 4 2 1 2 2 2
2 1 3 100
2 5 2 4 1 1 2 1
2 3 1 2 1 6
2 3 3 1 2 7
2 3 3 3 1 11
2 3 4 4 1 12
2 2 4 2 38
2 3 4 5 4 6
2 4 1 4 3 4 1
2 4 5 2 2 3 2
2 2 4 1 39
2 3 2 5 3 7
2 2 2 2 35
2 5 3 2 5 1 5 2
2 4 1 4 3 3 3
2 4 5 5 1 3 1
2 4 3 3 5 3 1
2 2 1 2 52
2 3 5 5 1 3
2 2 5 3 38
2 2 1 5 16
2 3 1 5 3 2
2 2 4 1 39
2 4 5 3 3 2 1
2 2 3 1 38
2 2 4 2 38
2 3 2 2 1 7
2 2 3 3 35
2 4 3 3 1 3 1
2 3 3 1 1 5
2 5 2 3 5 1 4 1
2 2 1 2 52
2 5 3 3 1 5 3 0
2 2 3 5 38
2 2 2 3 52
2 2 5 2 39
2 2 4 5 52
2 3 3 5 1 2
2 3 2 4 2 1
2 4 4 2 4 3 2
2 2 2 2 35
2 2 3 4 52
2 3 3 5 1 2
3 2 5 1 5 19
2 3 2 1 4 8
2 3 3 3 4 12
1011
1 6 1 1 1 1 1 3 2 1 1 2 2 1 1 3 1 5 2 2 4 1 2 2 5 1 2 1 1 2 2 2 1 1 2 2 1 1
2 2 2 1 21
2 4 1 1 2 2 4
2 3 2 1 2 4
2 3 2 2 2 7
2 3 2 2 2 7
2 2 2 2 22
2 2 1 1 22
2 4 1 2 1 5 0
2 5 2 1 1 2 2 3
2 2 1 1 22
2 2 1 1 22
2 3 1 2 1 2
2 2 2 2 22
2 2 2 2 22
2 1 2 36
2 1 2 36
2 4 2 3 5 2 0
2 2 1 1 22
2 5 2 1 2 2 2 1
2 2 4 1 8
2 2 2 1 21
2 3 2 2 2 7
2 5 2 2 1 2 2 0
2 4 1 1 1 2 1
2 3 2 2 2 7
2 2 2 1 21
2 2 1 1 22
2 3 1 2 2 7
2 4 2 2 2 2 2
2 5 2 2 1 4 2 0
2 5 2 5 1 1 2 0
2 5 2 2 1 1 1 1
2 4 1 2 2 2 1
2 4 1 2 2 1 2
3 4 2 2 1 4 3 -1
2 3 2 2 2 7
2 2 2 4 7
2 2 2 2 22
2 3 2 2 2 7
2 2 2 2 22
2 2 1 1 22
2 4 1 4 2 5 0
2 3 2 2 1 7
2 3 2 1 1 7
2 3 2 1 2 4
2 2 2 1 21
2 2 2 1 21
2 4 2 1 1 1 1
2 3 5 5 2 4
2 4 1 2 1 2 3
2 3 2 2 2 7
2 2 1 2 21
2 3 2 2 2 7
2 4 1 1 1 1 2
2 3 2 3 2 2
2 2 2 4 7
2 2 1 2 21
2 5 2 1 2 2 2 1
2 2 2 2 22
2 2 2 2 22
2 2 1 2 21
2 2 2 5 8
2 5 1 4 2 2 1 0
2 5 1 2 1 2 2 1
2 5 2 3 1 2 2 0
2 1 2 36
2 4 2 4 1 1 0
2 3 2 1 2 4
2 2 1 3 7
2 2 2 2 22
2 2 1 1 22
2 4 2 2 2 1 1
2 2 1 2 21
2 4 2 2 2 2 2
2 5 3 2 2 2 1 0
2 3 1 1 2 7
2 3 2 2 2 7
2 5 2 1 2 5 2 0
2 2 2 1 21
2 2 1 1 22
2 5 2 2 1 1 2 3
2 3 1 1 2 7
2 2 1 3 7
2 4 1 2 2 1 2
2 2 2 2 22
2 1 2 36
2 2 1 1 22
2 5 2 1 2 1 2 1
2 2 2 2 22
2 2 1 3 7
2 5 2 2 2 1 1 0
2 5 2 1 2 1 2 1
2 3 1 1 2 7
2 3 1 2 2 7
2 3 1 2 2 7
2 4 1 1 2 1 0
2 4 2 2 2 2 2
2 5 2 2 1 2 2 0
2 1 2 36
2 4 1 2 1 4 0
2 3 3 2 2 7
2 3 2 2 2 7
2 3 2 2 2 7
2 3 2 2 2 7
2 4 1 1 1 2 1
2 2 1 2 21
2 4 2 5 2 2 0
2 5 2 2 1 1 2 3
2 3 2 1 1 7
2 2 1 2 21
2 4 2 3 1 2 0
2 4 1 1 1 2 1
2 5 3 2 3 1 2 0
2 2 2 1 21
2 3 1 2 1 2
2 3 2 2 3 7
2 3 2 2 2 7
2 2 1 2 21
2 2 2 1 21
2 1 1 36
2 3 1 1 2 7
2 3 1 2 1 2
2 4 1 2 2 2 1
2 2 2 5 8
2 5 2 1 1 2 1 0
2 2 3 2 21
2 3 2 1 1 7
2 2 1 2 21
2 3 2 1 2 4
2 1 1 36
2 3 2 1 2 4
2 3 1 2 2 7
2 2 1 2 21
2 2 1 1 22
2 4 2 1 2 2 1
2 3 2 2 1 7
2 3 2 2 1 7
2 3 1 2 2 7
2 3 1 2 2 7
2 4 1 2 2 1 2
2 2 2 2 22
2 2 2 2 22
2 5 1 2 1 2 3 0
2 4 1 1 1 2 1
2 1 1 36
2 2 1 2 21
2 2 1 1 22
2 2 2 2 22
2 3 1 1 1 7
2 1 2 36
2 4 2 2 2 2 2
2 2 4 2 7
2 4 1 2 2 2 1
2 2 2 1 21
2 4 1 2 1 2 3
2 3 1 2 2 7
2 5 2 2 2 1 2 1
2 3 2 2 2 7
2 4 2 1 2 1 3
2 2 2 2 22
2 3 2 1 2 4
3 3 1 5 1 6 -1
2 2 2 2 22
2 3 1 2 1 2
2 2 2 2 22
2 1 1 36
2 5 2 1 2 1 1 0
2 3 2 2 2 7
2 5 2 1 2 2 2 1
2 3 1 2 1 2
2 5 2 1 4 1 1 0
2 5 2 1 2 1 2 1
2 4 2 2 1 2 1
2 4 1 1 2 2 4
2 5 2 1 1 2 2 3
2 4 2 2 1 2 1
2 2 3 1 7
2 4 2 2 1 2 1
2 2 2 2 22
2 4 1 2 2 1 2
2 4 2 5 2 1 0
2 4 2 2 1 1 4
2 2 3 1 7
2 2 2 2 22
2 5 1 1 1 1 1 1
2 4 2 2 1 2 1
2 2 1 1 22
2 4 2 1 2 2 1
2 1 3 36
2 3 5 2 1 0
2 2 2 2 22
2 1 2 36
2 2 2 2 22
2 2 2 4 7
2 5 2 1 2 2 2 1
2 4 2 2 2 1 1
2 2 2 2 22
2 3 2 1 2 4
2 3 1 2 1 2
2 2 5 1 2
2 4 1 2 2 1 2
2 5 1 2 1 2 1 0
2 3 2 1 2 4
2 3 2 2 1 7
2 3 2 2 2 7
2 2 2 1 21
2 2 1 2 21
2 3 2 2 1 7
2 1 2 36
2 2 4 1 8
2 5 2 2 2 1 2 1
2 2 2 1 21
2 4 1 2 2 1 2
2 5 2 2 2 2 2 1
2 4 1 2 2 2 1
2 2 1 1 22
2 3 2 2 2 7
2 4 2 2 1 5 0
2 3 2 1 1 7
2 4 2 2 2 1 1
2 2 1 2 21
2 3 2 2 1 7
2 4 1 2 2 2 1
2 2 2 4 7
2 2 1 1 22
2 1 4 36
2 4 1 1 1 2 1
2 3 1 5 3 1
2 2 1 2 21
2 4 1 2 2 2 1
2 2 1 2 21
2 5 2 2 1 2 1 1
2 2 2 2 22
2 4 5 2 1 2 0
2 5 2 2 2 2 2 1
2 2 2 1 21
2 4 2 2 1 2 1
2 3 2 1 2 4
2 2 2 2 22
2 4 2 1 1 2 2
2 2 1 2 21
2 2 2 2 22
2 2 2 2 22
2 4 2 1 2 1 3
2 2 1 1 22
2 5 1 2 1 2 2 1
2 2 1 2 21
2 2 1 2 21
2 5 1 2 2 2 1 0
2 4 2 1 2 1 3
2 2 1 2 21
2 3 1 2 1 2
2 2 1 3 7
2 2 2 2 22
2 3 1 1 2 7
2 5 1 2 2 1 2 0
2 2 3 2 21
2 4 1 2 2 2 1
2 5 2 1 2 1 2 1
2 1 2 36
2 2 5 1 2
2 4 2 2 2 1 1
2 5 2 2 1 1 1 1
2 1 1 36
2 3 2 2 1 7
2 2 1 1 22
2 3 2 2 1 7
2 4 2 1 2 2 1
2 4 2 2 1 2 1
2 2 1 2 21
2 5 1 1 2 2 1 2
2 2 4 1 8
2 2 1 1 22
2 3 2 2 1 7
2 4 1 2 2 1 2
2 5 2 2 2 1 2 1
2 5 2 2 2 2 2 1
2 2 2 1 21
2 4 1 1 1 2 1
2 5 2 1 1 2 2 3
2 5 1 2 1 2 2 1
2 2 1 1 22
2 5 5 2 2 2 1 0
2 2 2 2 22
2 3 1 2 2 7
2 4 2 1 2 1 3
2 4 2 1 1 1 1
2 5 2 2 1 1 1 1
2 5 2 1 2 1 2 1
2 5 2 2 2 1 2 1
2 5 2 1 2 2 2 1
2 2 1 1 22
2 3 2 1 1 7
2 3 2 1 2 4
2 3 2 1 2 4
2 4 2 1 1 2 2
2 5 2 1 2 1 2 1
2 4 1 2 1 2 3
2 4 1 1 1 2 1
2 3 1 1 1 7
2 2 1 2 21
2 1 2 36
2 4 1 2 2 2 1
2 2 2 2 22
2 5 2 2 1 2 2 0
2 5 2 1 1 3 1 0
3 1 2 2 22
2 2 2 1 21
2 2 2 1 21
2 5 2 2 1 2 1 1
2 3 2 1 2 4
2 4 2 5 2 5 0
2 5 2 2 1 1 2 3
2 3 2 1 1 7
2 2 2 2 22
2 4 2 2 1 2 1
2 4 2 1 1 1 1
2 5 1 2 2 1 1 2
2 1 2 36
2 3 1 4 2 0
2 3 2 1 1 7
2 3 2 1 2 4
2 4 2 2 1 1 4
2 2 2 4 7
2 3 1 2 2 7
2 5 2 2 2 1 2 1
2 2 2 1 21
2 2 1 2 21
2 3 2 2 1 7
2 2 2 1 21
2 2 2 2 22
2 3 1 1 1 7
2 3 2 2 2 7
2 3 2 2 2 7
2 2 2 1 21
2 3 2 3 2 2
2 3 1 2 1 2
2 4 2 2 1 1 4
2 4 2 2 1 2 1
2 3 2 1 2 4
2 2 2 5 8
2 3 1 1 2 7
2 4 1 1 2 2 4
2 3 2 2 1 7
2 2 2 2 22
2 4 2 2 1 2 1
2 5 1 4 1 1 2 0
2 5 1 1 1 1 1 1
2 5 2 2 2 2 2 1
2 3 2 2 2 7
2 2 1 2 21
2 1 1 36
2 4 5 1 4 2 0
2 4 1 2 1 1 0
2 3 2 1 1 7
2 3 2 2 2 7
2 3 2 2 2 7
2 4 2 1 2 2 1
2 4 1 1 1 2 1
2 2 2 2 22
2 2 4 1 8
2 3 2 2 2 7
2 3 1 2 1 2
2 4 2 2 1 2 1
2 3 3 2 2 7
2 2 2 4 7
2 4 1 2 2 1 2
2 4 1 1 2 2 4
2 1 2 36
2 5 2 2 2 2 2 1
3 5 2 2 2 1 1 3 -1
2 5 2 2 2 1 2 1
2 5 2 1 2 2 2 1
2 5 2 2 1 1 1 1
2 3 2 2 2 7
2 3 2 1 1 7
2 2 2 1 21
2 2 3 1 7
2 4 1 1 2 2 4
2 4 1 1 2 2 4
2 5 2 1 2 2 1 0
2 5 1 1 1 1 1 1
2 3 2 1 1 7
2 2 5 2 8
2 3 2 2 2 7
2 5 2 2 1 1 2 3
2 2 1 1 22
2 4 2 1 2 1 3
2 4 5 2 1 1 0
2 2 1 2 21
2 1 1 36
2 4 2 1 1 1 1
2 2 1 2 21
2 4 1 2 2 2 1
2 2 1 1 22
2 2 4 1 8
2 3 2 2 2 7
2 3 2 2 2 7
2 3 2 2 4 0
2 1 2 36
2 1 2 36
2 2 2 1 21
2 4 1 1 2 2 4
2 3 2 2 2 7
2 3 2 1 2 4
2 4 1 2 2 1 2
2 2 2 1 21
2 4 1 2 2 2 1
2 5 1 2 2 1 1 2
2 5 1 2 1 2 2 1
2 1 4 36
2 5 2 2 1 2 1 1
2 4 1 2 2 2 1
2 2 1 1 22
2 3 2 1 2 4
2 5 5 2 2 5 1 0
2 5 2 1 2 1 1 0
2 3 1 2 2 7
2 4 2 1 2 1 3
2 5 1 1 1 2 2 1
2 1 2 36
2 3 1 2 1 2
2 3 1 2 2 7
2 3 2 2 2 7
2 5 2 2 2 2 2 1
2 5 2 1 2 1 2 1
2 2 2 2 22
2 1 3 36
2 2 2 2 22
2 5 2 1 5 2 2 0
2 2 2 1 21
2 4 2 2 2 2 2
2 5 2 2 2 1 2 1
2 5 1 1 1 1 1 1
2 4 1 2 2 1 2
2 1 2 36
2 2 1 5 2
2 5 2 2 2 1 2 1
2 2 1 1 22
2 1 4 36
2 4 5 2 2 2 0
2 3 1 1 2 7
2 5 1 1 1 2 2 1
2 2 1 1 22
2 4 1 2 2 2 1
2 3 1 1 1 7
2 1 2 36
2 3 1 2 2 7
2 3 2 2 2 7
2 4 2 2 1 2 1
2 2 2 2 22
2 1 2 36
2 4 1 2 2 2 1
2 3 1 2 1 2
2 3 1 2 1 2
2 3 1 2 2 7
2 4 2 1 1 2 2
2 4 5 2 2 1 0
2 2 1 2 21
2 2 1 1 22
2 3 1 1 2 7
2 2 1 2 21
2 5 2 2 3 1 2 0
2 4 1 1 2 2 4
2 2 1 2 21
2 4 1 5 3 1 0
2 4 2 1 1 1 1
2 2 1 2 21
2 4 2 1 2 2 1
2 2 2 2 22
2 4 2 2 1 2 1
2 4 1 1 2 1 0
2 5 2 2 2 2 2 1
2 2 2 2 22
2 3 2 1 2 4
2 2 2 2 22
2 3 2 5 5 4
2 3 1 1 2 7
2 3 1 1 2 7
2 4 1 2 2 2 1
2 2 1 2 21
3 4 1 2 2 2 4 3
2 2 1 1 22
2 3 2 2 2 7
2 2 1 1 22
2 2 2 1 21
2 2 2 2 22
2 3 2 1 1 7
2 2 2 2 22
2 2 5 1 2
2 4 1 1 1 2 1
2 1 2 36
2 3 1 2 4 0
2 3 2 1 1 7
2 4 1 1 1 1 2
2 5 1 1 2 1 4 0
2 3 2 2 2 7
2 4 1 2 2 1 2
2 4 1 2 1 2 3
2 2 2 1 21
2 2 1 1 22
2 3 1 2 2 7
2 5 2 1 2 2 2 1
2 5 2 2 1 2 1 1
2 5 2 5 1 2 2 0
2 3 2 2 2 7
2 1 2 36
2 3 1 1 2 7
2 2 2 2 22
2 1 2 36
2 5 2 2 4 2 1 0
2 4 1 2 2 2 1
2 2 2 2 22
2 2 1 2 21
2 5 1 2 1 2 2 1
2 2 2 2 22
2 2 1 1 22
2 4 1 2 2 2 1
2 3 2 2 1 7
2 4 1 1 1 2 1
2 2 2 3 21
2 2 2 1 21
2 2 2 5 8
2 3 2 1 2 4
2 4 1 1 1 2 1
2 4 2 5 5 2 0
2 3 1 1 1 7
2 3 2 1 2 4
2 3 2 1 2 4
2 5 1 1 1 1 1 1
2 4 2 2 1 1 4
2 2 1 3 7
2 5 2 2 1 1 1 1
2 5 2 2 2 2 1 0
2 2 2 2 22
2 2 1 2 21
2 2 2 1 21
2 5 1 2 2 1 1 2
2 3 1 1 2 7
2 4 1 1 2 2 4
2 3 2 2 1 7
2 4 2 2 2 2 2
2 4 2 1 1 2 2
2 5 1 2 2 1 1 2
2 4 2 2 2 2 2
2 2 2 2 22
2 4 1 1 1 1 2
2 3 2 2 2 7
2 2 2 4 7
2 4 2 1 2 2 1
2 4 1 1 1 1 2
2 3 1 1 2 7
2 2 2 2 22
2 4 2 2 2 2 2
2 3 3 2 2 7
2 2 2 5 8
2 3 2 2 2 7
2 3 1 1 2 7
2 3 1 2 1 2
2 2 1 2 21
2 3 1 2 2 7
2 2 1 1 22
2 3 2 2 3 7
2 3 2 1 2 4
2 2 2 2 22
2 3 2 2 1 7
2 3 2 2 1 7
2 1 2 36
2 2 1 2 21
2 1 2 36
2 2 1 2 21
2 4 2 2 2 1 1
2 2 1 3 7
2 2 1 2 21
2 2 1 1 22
2 4 2 1 2 1 3
2 2 1 1 22
2 2 1 1 22
2 2 1 1 22
2 3 2 2 2 7
2 2 2 2 22
2 5 1 1 1 1 2 0
2 2 1 1 22
2 5 2 2 2 2 2 1
2 5 2 1 3 1 1 0
2 4 1 1 1 1 2
2 2 2 1 21
2 4 2 2 5 1 0
2 1 1 36
2 2 2 1 21
2 4 1 2 2 2 1
2 3 1 2 2 7
2 3 1 1 2 7
2 2 2 2 22
2 4 2 1 1 1 1
2 4 2 4 4 1 0
3 3 2 1 2 2 20
2 5 2 2 2 2 2 1
2 4 1 2 2 1 2
2 2 2 2 22
2 5 2 2 2 2 2 1
2 2 1 1 22
2 3 1 2 2 7
2 5 2 1 1 2 2 3
2 2 1 2 21
2 5 2 2 1 1 2 3
2 4 1 1 1 1 2
2 3 1 2 2 7
2 2 2 2 22
2 3 1 2 2 7
2 4 1 1 2 2 4
2 3 2 1 2 4
2 3 1 2 2 7
2 3 1 2 1 2
2 1 2 36
2 2 1 2 21
2 2 1 2 21
2 3 1 1 2 7
2 3 1 1 2 7
2 4 2 4 4 1 0
2 3 2 2 1 7
2 4 1 2 1 1 0
2 2 1 2 21
2 3 3 1 3 2
2 3 2 2 2 7
2 5 2 2 1 1 1 1
2 2 2 3 21
2 3 2 2 2 7
2 2 3 2 21
2 4 1 2 2 2 1
2 2 1 2 21
2 3 2 2 2 7
2 2 1 1 22
2 5 1 4 2 2 1 0
2 4 1 1 1 2 1
2 2 4 2 7
2 3 2 1 2 4
2 5 4 4 2 3 5 0
2 3 2 3 1 1
2 4 1 1 1 2 1
2 2 2 2 22
2 4 2 2 2 2 2
2 3 2 2 2 7
3 1 3 4 4
2 2 2 3 21
2 4 2 2 2 2 2
2 4 2 2 1 2 1
2 2 2 2 22
2 3 2 2 1 7
2 4 1 1 2 2 4
2 3 1 1 1 7
2 1 1 36
2 3 2 1 1 7
2 2 1 2 21
2 2 1 2 21
2 4 2 1 2 2 1
2 4 1 1 2 1 0
2 3 1 2 1 2
2 2 2 2 22
2 2 1 2 21
2 2 2 1 21
2 1 1 36
2 2 2 1 21
2 4 2 1 1 2 2
2 4 2 1 1 1 1
2 4 2 2 2 1 1
2 5 2 2 2 1 2 1
2 2 2 1 21
2 2 2 1 21
2 5 1 1 2 1 1 0
2 5 2 2 2 2 2 1
2 4 2 2 1 1 4
2 5 1 1 2 2 1 2
2 5 1 1 2 1 2 0
2 4 1 2 1 2 3
2 3 1 1 1 7
2 2 2 1 21
2 2 2 1 21
2 3 2 2 2 7
2 2 2 1 21
2 4 2 2 2 1 1
2 4 2 1 1 2 2
2 2 1 1 22
2 2 1 1 22
2 5 2 2 1 2 1 1
2 3 3 2 2 7
2 4 2 1 2 2 1
2 3 2 2 1 7
2 2 5 1 2
2 5 2 1 2 2 1 0
2 4 2 1 1 2 2
2 1 2 36
2 2 2 2 22
2 4 2 2 1 1 4
2 5 2 1 1 2 2 3
2 3 1 2 1 2
2 5 2 2 1 2 2 0
2 4 2 2 2 2 2
3 3 1 2 2 3 8
2 1 2 36
2 2 2 1 21
2 2 2 1 21
2 2 2 2 22
2 2 1 5 2
2 3 2 1 1 7
2 3 2 2 1 7
2 3 1 1 2 7
2 2 2 1 21
2 4 1 2 1 4 0
2 5 2 1 1 2 2 3
2 5 2 2 1 1 2 3
2 2 2 1 21
2 5 1 2 1 2 2 1
2 1 2 36
2 4 2 2 1 2 1
2 2 2 5 8
2 4 1 2 2 1 2
2 2 2 1 21
2 3 2 2 2 7
2 4 2 2 2 2 2
2 3 2 2 1 7
2 2 1 2 21
2 3 2 2 1 7
2 3 2 1 2 4
2 3 2 2 2 7
2 5 2 1 1 2 2 3
2 2 2 4 7
2 2 2 1 21
2 5 2 2 1 1 2 3
2 2 1 2 21
2 5 2 1 2 2 2 1
2 3 2 2 2 7
2 5 1 1 1 1 1 1
2 3 1 2 2 7
2 2 5 2 8
2 2 2 1 21
2 4 2 1 1 1 1
2 3 1 1 2 7
2 4 1 2 1 2 3
2 3 1 1 1 7
2 4 1 1 1 2 1
2 2 2 2 22
2 3 1 2 1 2
2 4 2 2 2 1 1
2 2 1 2 21
2 4 2 2 1 1 4
2 3 2 2 2 7
2 4 1 1 1 1 2
2 4 1 2 2 1 2
2 2 2 2 22
2 2 2 1 21
2 3 2 1 3 0
2 3 2 1 1 7
2 2 2 1 21
2 3 2 2 1 7
2 2 1 2 21
2 3 2 2 2 7
2 2 1 2 21
2 5 1 2 1 2 2 1
2 4 1 2 2 5 0
2 3 1 2 1 2
2 1 2 36
2 5 2 1 1 2 2 3
2 2 2 2 22
2 2 1 2 21
2 4 1 2 1 2 3
2 4 2 2 2 2 2
2 2 2 1 21
2 2 2 3 21
2 3 2 2 1 7
2 5 2 2 1 1 2 3
2 3 1 1 1 7
2 2 1 2 21
2 4 1 1 2 2 4
2 4 2 1 2 1 3
2 3 2 2 1 7
2 4 2 3 1 2 0
2 3 2 1 1 7
2 3 2 2 2 7
2 3 1 1 2 7
2 3 2 2 1 7
2 5 1 2 1 2 2 1
2 3 2 2 2 7
2 3 2 2 2 7
2 3 1 2 1 2
2 2 1 5 2
2 4 2 2 2 2 2
2 4 2 1 2 1 3
2 3 1 1 1 7
2 2 2 2 22
2 5 2 1 3 2 2 0
2 5 1 2 1 2 2 1
2 4 2 2 2 2 2
2 5 2 1 2 2 2 1
2 3 1 2 1 2
2 2 2 2 22
2 3 5 1 1 0
2 2 2 2 22
2 5 2 1 1 2 2 3
2 4 1 1 2 2 4
2 5 2 2 1 1 4 0
2 2 2 2 22
2 4 2 5 2 2 0
2 3 2 2 2 7
2 5 3 2 2 1 2 0
2 2 1 2 21
2 2 1 2 21
2 2 1 2 21
2 5 2 2 2 2 5 0
2 2 2 1 21
2 1 1 36
2 3 1 1 2 7
2 2 2 2 22
2 2 5 3 7
2 3 1 2 2 7
2 3 2 2 2 7
2 2 2 3 21
2 2 2 1 21
2 5 2 1 2 1 1 0
2 2 2 1 21
2 4 2 2 2 1 1
2 3 1 2 2 7
2 3 1 2 1 2
2 3 1 2 2 7
2 2 1 1 22
2 4 2 1 2 1 3
2 3 2 2 3 7
2 2 2 2 22
2 3 1 2 1 2
2 5 1 1 2 2 1 2
2 5 1 1 1 1 1 1
2 2 1 2 21
2 2 2 2 22
2 2 5 2 8
2 4 1 1 2 2 4
2 3 2 2 2 7
2 4 1 1 1 1 2
2 2 2 1 21
2 4 1 2 2 2 1
2 4 1 2 1 4 0
2 5 2 2 2 1 2 1
2 2 2 2 22
2 3 2 1 1 7
2 4 2 1 1 2 2
2 3 2 2 1 7
2 3 2 2 2 7
2 3 2 2 1 7
2 2 1 1 22
2 4 2 1 1 1 1
2 2 1 2 21
2 3 1 2 2 7
2 4 1 2 2 2 1
2 2 3 5 7
2 3 2 2 2 7
2 1 1 36
2 4 1 5 2 2 0
2 2 5 2 8
2 3 2 2 2 7
2 3 1 2 2 7
2 4 2 2 2 1 1
2 2 1 2 21
2 3 4 2 1 0
2 2 1 1 22
2 3 2 2 2 7
2 5 1 2 2 1 1 2
2 4 2 1 2 2 1
2 4 1 2 1 1 0
2 4 2 2 1 2 1
2 3 2 1 1 7
2 2 2 1 21
2 2 2 5 8
2 4 1 2 2 1 2
2 1 2 36
2 4 1 2 2 2 1
2 3 1 1 2 7
2 4 1 1 1 2 1
2 5 1 1 2 1 2 0
2 2 5 2 8
2 1 1 36
2 5 2 2 5 2 1 0
2 2 2 2 22
2 4 1 2 2 2 1
2 3 2 1 1 7
2 3 1 1 2 7
2 2 2 1 21
2 2 2 1 21
2 4 2 1 2 1 3
2 5 2 1 1 2 2 3
2 3 1 2 2 7
2 4 1 2 2 2 1
3 5 1 2 3 2 2 5 -1
2 2 1 2 21
2 2 2 1 21
2 2 1 2 21
2 4 2 2 1 2 1
2 5 2 2 2 2 2 1
2 3 2 2 1 7
2 5 2 1 1 3 1 0
2 4 3 2 2 2 1
2 3 1 1 2 7
2 3 1 1 1 7
2 2 1 2 21
2 1 2 36
2 2 2 1 21
2 2 1 1 22
2 4 2 2 2 2 2
2 2 2 2 22
2 4 3 2 2 2 1
2 3 1 2 2 7
2 4 2 2 2 2 2
2 3 1 2 2 7
2 4 2 3 2 2 0
2 4 2 2 2 3 1
2 3 1 2 2 7
2 2 1 2 21
2 4 3 2 1 2 0
2 2 2 1 21
2 2 1 2 21
2 4 2 1 2 2 1
2 2 2 2 22
2 4 3 2 2 2 1
2 4 2 1 2 1 3
2 2 1 1 22
2 2 2 2 22
2 3 1 2 1 2
2 5 2 1 2 1 2 1
2 5 2 2 2 2 2 1
2 4 2 2 2 2 2
2 3 1 2 2 7
2 2 5 1 2
2 2 1 2 21
2 2 2 3 21
2 2 1 2 21
2 4 1 2 1 1 0
2 3 1 2 2 7
2 4 2 2 1 2 1
2 3 2 2 2 7
2 2 2 2 22
2 2 1 5 2
2 4 2 2 1 2 1
2 4 2 2 2 1 1
2 4 2 2 2 2 2
2 4 1 1 2 1 0
2 3 1 2 2 7
2 5 2 2 2 2 2 1
2 4 3 1 1 2 0
2 2 3 1 7
2 4 1 2 2 1 2
2 3 2 1 2 4
2 5 2 2 1 1 1 1
2 2 2 2 22
2 2 1 2 21
2 2 1 2 21
2 3 1 1 1 7
2 4 1 2 1 2 3
2 3 1 1 2 7
2 2 1 5 2
2 5 1 2 1 2 2 1
2 5 1 1 2 2 1 2
2 3 2 1 1 7
2 3 1 2 1 2
2 1 2 36
2 4 1 1 1 1 2
2 3 1 1 1 7
2 1 2 36
2 1 2 36
2 4 2 2 2 2 2
2 2 1 2 21
2 2 2 2 22
3 3 5 2 2 2 -1
2 4 2 2 2 2 2
2 3 2 1 1 7
2 4 1 3 2 2 0
2 3 2 2 2 7
2 1 2 36
2 4 1 2 2 2 1
2 5 1 2 1 2 2 1
2 2 2 2 22
2 3 2 1 1 7
2 1 2 36
2 4 2 1 1 2 2
2 5 2 1 2 2 2 1
2 2 2 5 8
2 4 1 2 1 2 3
2 2 2 1 21
2 4 1 1 1 1 2
2 2 2 2 22
2 2 2 1 21
2 2 1 2 21
2 3 2 2 2 7
2 3 2 1 2 4
2 3 2 1 1 7
2 3 1 1 2 7
2 2 1 1 22
2 3 2 1 2 4
2 2 1 2 21
2 2 2 2 22
2 4 2 1 1 2 2
2 5 3 2 2 2 1 0
2 2 2 1 21
2 2 2 2 22
2 3 1 2 2 7
2 5 2 1 2 2 2 1
2 4 1 2 1 2 3
2 5 1 1 2 1 1 0
2 3 2 2 2 7
2 2 2 2 22
2 3 1 2 1 2
2 5 2 2 2 2 2 1
2 4 2 2 2 2 2