alexjercan/bugnet huggingface dataset:
D: XORANDORBAN

Problem Statement

You are given a positive integer N. Your task is to determine a set S of 2^N integers satisfying the following conditions:

All the integers in S are at least 0 and less than 2^{N+1}.

All the integers in S are distinct.

You are also given three integers X, A, and O, where 0 \leq X, A, O < 2^{N+1}. Then, any two integers (a, b) in S must satisfy a {\it xor} b \neq X, a {\it and} b \neq A, a {\it or} b \neq O, where {\it xor}, {\it and}, {\it or} are bitwise xor, bitwise and, bitwise or, respectively. Note that a and b are not necessarily different.

Input

N X A O

Constraints

1 \leq N \leq 13

0 \leq X, A, O < 2^{N+1}

Inputs consist only of integers.

Output

If there is no set satisfying the conditions mentioned in the problem statement, output No in a line. Otherwise, output Yes in the first line, and then output 2^N integers in such a set in the second line. If there are multiple sets satisfying the conditions, you can output any of them.

Sample Input 1

2 6 1 5

Output for Sample Input 1

Yes
0 3 4 7

Sample Input 2

3 0 5 1

Output for Sample Input 2

No

Sample Input 3

3 4 2 5

Output for Sample Input 3

Yes
1 0 6 15 8 9 14 7
E: Red Black Balloons

Story

Homura-chan's dream comes true. It means ICPC Asia regional contest 20xx will be held in Sapporo! Homura-chan has been working hard for the preparation. And finally, it's the previous day of the contest. Homura-chan started to stock balloons to be delivered to contestants who get accepted. However, she noticed that there were only two colors of balloons: red and black.

Problem Statement

ICPC Asia regional contest in Sapporo plans to provide N problems to contestants. Homura-chan is a professional of contest preparation, so she already knows how many contestants would get acceptance for each problem (!!), a_i contestants for the i-th problem. You can assume the prediction is perfectly accurate. Ideally, Homura-chan would assign a distinct color of a balloon to each problem respectively. But you know, she has only two colors red and black now. Thus, Homura-chan comes up with the idea to differentiate the size of balloons in K levels, that is, each problem has a balloon with a distinct pair of (color, size).

Homura-chan now has r_i red balloons with size i (1 \leq i \leq K) and b_j black balloons with size j (1 \leq j \leq K). Suppose we assign a pair (c_i, s_i) of a color c_i (red or black) and a size s_i to the i-th problem, for each i. As noted, we have to assign distinct pairs to each problem, more precisely, (c_i, s_i) \neq (c_j, s_j) holds for i \neq j. Moreover, the number of balloons with (c_i, s_i) must be no less than a_i. In the case that there are no such assignments, Homura-chan can change the size of balloons by her magic power. Note that Homura-chan doesn't know magic to change the color of balloons, so it's impossible.

Your task is to write a program computing the minimum number of balloons whose size is changed by Homura-chan's magic to realize an assignment satisfying the above-mentioned conditions. If there is no way to achieve such an assignment even if Homura-chan changes the size of balloons infinitely, output -1 instead.

Input

N K
a_1 ... a_N
r_1 ... r_K
b_1 ... b_K

Constraints

1 \leq N,K \leq 60

N \leq 2K

1 \leq a_i \leq 50 (1 \leq i \leq N)

1 \leq r_j,b_j \leq 50 (1 \leq j \leq K)

Inputs consist only of integers.

Output

Output the minimum number of balloons whose size is changed to achieve an assignment in a line. If there are no ways to achieve assignments, output -1 instead.

Sample Input 1

3 2
6 5 4
8 1
7 1

Output for Sample Input 1

3

Homura-chan changes the size of three red balloons from 1 to 2. Then she can assign (black,1) to the problem 1, (red,1) to the problem 2, and (red,2) to the problem 3.

Sample Input 2

2 1
50 50
2
3

Output for Sample Input 2

-1

Sample Input 3

4 3
3 10 28 43
40 18 2
26 7 11

Output for Sample Input 3

5
F: Invariant Tree

Problem Statement

You have a permutation p_1, p_2, ... , p_N of integers from 1 to N. You also have vertices numbered 1 through N. Find the number of trees while satisfying the following condition. Here, two trees T and T' are different if and only if there is a pair of vertices where T has an edge between them but T’ does not have an edge between them.

For all integer pairs i, j (1\leq i < j \leq N), if there is an edge between vertices i and j, there is an edge between vertices p_i and p_j as well.

Since this number can be extremely large, output the number modulo 998244353.

Input

N
p_1 p_2 ... p_N

Constraints

1\leq N \leq 3 \times 10^5

p_1, p_2, ... , p_N is a permutation of integers 1 through N.

Output

Output the number in a single line.

Sample Input 1

4
2 1 4 3

Output for Sample Input 1

4

Let (u, v) denote that there is an edge between u and v. The following 4 ways can make a tree satisfying the condition.

(1, 2), (1, 3), (2, 4)

(1, 2), (1, 4), (2, 3)

(1, 3), (2, 4), (3, 4)

(1, 4), (2, 3), (3, 4)

Sample Input 2

3
1 2 3

Output for Sample Input 2

3

Sample Input 3

3
2 3 1

Output for Sample Input 3

0

Sample Input 4

20
9 2 15 16 5 13 11 18 1 10 7 3 6 14 12 4 20 19 8 17

Output for Sample Input 4

98344960
G: Toss Cut Tree

Problem Statement

You are given two trees T, U. Each tree has N vertices that are numbered 1 through N. The i-th edge (1 \leq i \leq N-1) of tree T connects vertices a_i and b_i. The i-th edge (1 \leq i \leq N-1) of tree U connects vertices c_i and d_i.

The operation described below will be performed N times.

On the i-th operation, flip a fair coin.

If it lands heads up, remove vertex i and all edges directly connecting to it from tree T.

If it lands tails up, remove vertex i and all edges directly connecting to it from tree U.

After N operations, each tree will be divided into several connected components. Let X and Y be the number of connected components originated from tree T and U, respectively.
Your task is to compute the expected value of X \times Y. More specifically, your program must output an integer R described below.
First, you can prove X \times Y is a rational number. Let P and Q be coprime integers that satisfies \frac{P}{Q} = X \times Y. R is the only integer that satisfies R \times Q $\equiv$ P $ \bmod \;$ 998244353, 0 \leq R < 998244353.

Input

N
a_1 b_1
:
a_{N-1} b_{N-1}
c_1 d_1
:
c_{N-1} d_{N-1}

Constraints

1 \leq N \leq 2 \times 10^5

1 \leq a_i, b_i, c_i, d_i \leq N

The given two graphs are trees.

All values in the input are integers.

Output

Print R described above in a single line.

Sample Input 1

3
1 2
2 3
1 2
3 1

Output for Sample Input 1

1

A coin is flipped 3 times. Therefore, there are 2^3 = 8 outcomes in total.

Suppose that the outcome was (tail, head, tail) in this order. Vertex 2 of tree T and vertex 1, 3 of tree U are removed along with all edges connecting to them. T, U are decomposed to 2, 1 connected components, respectively. Thus, the value of XY is 2 \times 1 = 2 in this case.

It is possible to calculate XY for the other cases in the same way and the expected value of XY is 1.

Sample Input 2

4
1 2
1 4
2 3
1 4
4 2
2 3

Output for Sample Input 2

374341634

The expected number of XY is \frac{13}{8}.
H: Colorful Tree

Story

Yamiuchi (assassination) is a traditional event that is held annually in JAG summer camp. Every team displays a decorated tree in the dark and all teams' trees are compared from the point of view of their colorfulness. In this competition, it is allowed to cut the other teams’ tree to reduce its colorfulness. Despite a team would get a penalty if it were discovered that the team cuts the tree of another team, many teams do this obstruction.

You decided to compete in Yamiuchi and write a program that maximizes the colorfulness of your team’s tree. The program has to calculate maximum scores for all subtrees in case the other teams cut your tree.

Problem Statement

You are given a rooted tree G with N vertices indexed with 1 through N. The root is vertex 1. There are K kinds of colors indexed with 1 through K. You can paint vertex i with either color c_i or d_i. Note that c_i = d_i may hold, and if so you have to paint vertex i with c_i (=d_i).

Let the colorfulness of tree T be the number of different colors in T. Your task is to write a program that calculates maximum colorfulness for all rooted subtrees. Note that coloring for each rooted subtree is done independently, so previous coloring does not affect to other coloring.

Input

N K
u_1 v_1
:
u_{N-1} v_{N-1}
c_1 d_1
:
c_N d_N

The first line contains two integers N and K in this order.

The following N-1 lines provide information about the edges of G. The i-th line of them contains two integers u_i and v_i, meaning these two vertices are connected with an edge.

The following N lines provide information about color constraints. The i-th line of them contains two integers c_i and d_i explained above.

Constraints

1 \leq N \leq 10^5

1 \leq K \leq 2\times 10^5

1 \leq u_i , v_i \leq N

1 \leq c_i , d_i \leq K

The input graph is a tree.

All inputs are integers.

Output

Output N lines.

The i-th line of them contains the maximum colorfulness of the rooted subtree of G whose root is i.

Sample Input 1

2 10
1 2
1 9
8 7

Output for Sample Input 1

2
1

Sample Input 2

3 2
1 2
1 3
1 2
1 1
1 2

Output for Sample Input 2

2
1
1

Note that two color options of a vertex can be the same.

Sample Input 3

5 100000
4 3
3 5
1 3
2 1
3 2
1 3
2 1
4 2
1 4

Output for Sample Input 3

4
1
3
1
1
I: Add

Problem Statement

Mr. T has had an integer sequence of N elements a_1, a_2, ... , a_N and an integer K. Mr. T has created N integer sequences B_1, B_2, ... , B_N such that B_i has i elements.

B_{N,j} = a_j (1 \leq j \leq N)

B_{i,j} = K \times B_{i+1,j} + B_{i+1,j+1} (1\leq i \leq N-1, 1 \leq j \leq i)

Mr. T was so careless that he lost almost all elements of these sequences a and B_i. Fortunately, B_{1,1}, B_{2,1}, ... , B_{N,1} and K are not lost. Your task is to write a program that restores the elements of the initial sequence a for him. Output the modulo 65537 of each element instead because the absolute value of these elements can be extremely large. More specifically, for all integers i (1 \leq i \leq N), output r_i that satisfies r_i $\equiv$ a_i $ \bmod \;$ 65537, 0 \leq r_i < 65537. Here, we can prove that the original sequence Mr. T had can be uniquely determined under the given constraints.

Input

T
N_1 K_1
C_{1,1} C_{1,2} ... C_{1,N}
N_2 K_2
C_{2,1} C_{2,2} ... C_{2,N}
:
N_T K_T
C_{T,1} C_{T,2} ... C_{T,N}

The first line contains a single integer T that denotes the number of test cases. Each test case consists of 2 lines. The first line of the i-th test case contains two integers N_i and K_i. The second line of the i-th test case contains N_i integers C_{i,j} (1 \leq j \leq N_i). These values denote that N = N_i , K = K_i , B_{j,1} = C_{i,j} (1 \leq j \leq N_i) in the i-th test case.

Constraints

1 \leq T \leq 10

1 \leq N \leq 50000

|K| \leq 10^9

|B_{i,1}| \leq 10^9

All input values are integers.

Output

Output T lines. For the i-th line, output the answer for the i-th test case a_1, a_2, ..., a_N in this order. Each number must be separated by a single space.

Sample Input 1

2
3 0
1 2 3
3 1
1 2 3

Output for Sample Input 1

3 2 1
3 65536 0
J: Horizontal-Vertical Permutation

Problem Statement

You are given a positive integer N. Your task is to determine if there exists a square matrix A whose dimension is N that satisfies the following conditions and provide an example of such matrices if it exists. A_{i, j} denotes the element of matrix A at the i-th row and j-th column.

For all i, j (1 \leq i, j \leq N), A_{i, j} is an integer that satisfies 1 \leq A_{i, j} \leq 2N - 1.

For all k = 1, 2, ..., N, a set consists of 2N - 1 elements from the k-th row or k-th column is \{1, 2, ..., 2N - 1\}.

If there are more than one possible matrices, output any of them.

Input

N

Input consists of one line, which contains the integer N that is the size of a square matrix to construct.

Constraint

N is an integer that satisfies 1 \leq N \leq 500.

Output

Output No in a single line if such a square matrix does not exist.

If such a square matrix A exists, output Yes on the first line and A after that. More specifically, follow the following format.

Yes
A_{1, 1} A_{1, 2} ... A_{1, N}
A_{2, 1} A_{2, 2} ... A_{2, N}
:
A_{N, 1} A_{N, 2} ... A_{N, N}

Sample Input 1

4

Output for Sample Input 1

Yes
2 6 3 7
4 5 2 1
1 7 5 6
5 3 4 2

Sample Input 2

3

Output for Sample Input 2

No
Problem A: The Mean of Angles

Problem

与えられた2つの角度θ1,θ2 のちょうど間の角度を求めよ。ここで、ちょうど間の角度を、下図のように「θ1 + t = θ2 − t を満たすtのうち絶対値が最も小さいものをt’としたときのθ1 + t’」と定義する。

Input

入力は以下の形式で与えられる。

θ1
θ2

Constraints

入力は以下の条件を満たす。

角度は度数法(degree)で表される

0 ≤ θ1, θ2 < 360

θ1, θ2は整数

|θ1 − θ2| ≠ 180

解答が[0,0.0001]または[359.999, 360)になるような入力は与えられない

Output

θ1,θ2のちょうど間の角度を度数法で[0,360)の範囲で1行に出力せよ。ただし0.0001を超える誤差を含んではならない。

Sample Input 1

10
20

Sample Output 1

15.0

Sample Input 2

20
350

Sample Output 2

5.0
Problem B: GPA JANKEN

Problem

GPAとは「Galaxy Point of Aizu」の略で、0から4までの実数値を取る。

GPAじゃんけんは二人で行うゲームである。各々が「じゃんけん、ぽん（ほい）」の合図で互いにグー、チョキ、パーのどれか好きな手を出した後、GPAが高い人が勝者となり、低い人が敗者となる。同じ場合は引き分けとなる。

N 人のGPAのデータが与えられるので、総当たり戦をした時のそれぞれの勝ち点を出力せよ。

ただし、勝ち点は勝ちの時3、引き分けの時1、負けの時0とする。

総当たり戦とはすべての参加者が自分以外の参加者と丁度一回ずつ対戦する方式である。

Input

入力は以下の形式で与えられる。

N
a1
a2
...
aN

一行目にGPAじゃんけんをする人数 N が与えられる。

続く N 行に i 番目の人のGPAのデータ ai が一行に与えられる。

Constraints

入力は以下の条件を満たす。

2 ≤ N ≤ 105

N は整数

0.000 ≤ ai ≤ 4.000 ( 1 ≤ i ≤ N )

ai は実数 ( 1 ≤ i ≤ N )

各GPAは小数点以下3桁まで与えられる

Output

i 行目に i 番目の人の勝ち点を一行に出力せよ。
( 1 ≤ i ≤ N )

Sample Input 1

3
1.000
3.000
3.000

Sample Output 1

0
4
4

Sample Input 2

3
1.000
2.000
3.000

Sample Output 2

0
3
6
Problem C: Factorization

Problem

ukuku1333さんはおっちょこちょいなので、
x の一次式の積を展開したら、元の一次式がわからなくなってしまった。

x の n 次多項式が与えられるので、因数分解して元のxの一次式の積の形にせよ。

x の n 次多項式は以下のBNFによって与えられる。

<多項式> := <項> | <多項式>+<項> | <多項式>−<項>
<項> := x^<指数> | <係数>x^<指数> | <係数>x | <定数>
<指数> := [2-5]
<係数> := [1-9][0-9]*
<定数> := [1-9][0-9]*

指数及び係数が省略されている場合は1とみなす。

Input

入力は以下の形式で与えられる。

S

x の n 次多項式を表す文字列 S が一行に与えられる。

Constraints

入力は以下の条件を満たす。

2 ≤ n ≤ 5

与えられる式の項の数を m とすると、1 ≤ i < j ≤ m なる任意の i, j の組に対して、

i 番目の項の次数は j 番目の項の次数より大きいことが保証される

与えられるx の n 次多項式は、x の一次式の積の形に因数分解したもので表すことができることが保証される

係数、定数の絶対値はそれぞれ2×103以下である

次数が最大のものの係数は1であり、省略されていることが保証される

展開する前のそれぞれの一次式の元の定数項は0ではない整数であることが保証される

展開する前のそれぞれの一次式の元の定数項は相異なることが保証される

Output

S をx の一次式の積の形に因数分解したものを、定数項の小さいものから順に出力せよ。

出力の最後には改行を入れること。

Sample Input 1

x^2+3x+2

Sample Output 1

(x+1)(x+2)

Sample Input 2

x^2-1

Sample Output 2

(x-1)(x+1)

Sample Input 3

x^5+15x^4+85x^3+225x^2+274x+120

Sample Output 3

(x+1)(x+2)(x+3)(x+4)(x+5)

Sample Input 4

x^3-81x^2-1882x-1800

Sample Output 4

(x-100)(x+1)(x+18)
Problem D: Let's Go To School

Problem

がっちょ君は期末試験が近づくとやる気がなくなってしまい、しばしば学校を休むようになる。

期末試験まで残りN日である。

がっちょ君のi日目のやる気はXiであり、i日目に学校に行くために必要なやる気はYiである。

がっちょ君は Xi ≥ Yi となる日のみ学校に行く。

がっちょ君を心配したハジ君は、がっちょ君を励ますことで、可能な限り学校に行かせようと考えた。

ハジ君は最初、励まし力Pを持っている。

ハジ君がi日目に励まし力t(tは0以上の任意の実数)を消費してがっちょ君を励ますと、
がっちょ君のi日目のやる気はtだけ増加して、ハジ君の励まし力はtだけ減少する。さらに、i+1 ≤ Nのとき、i+1日目のがっちょ君のやる気Xi+1はmax(0, Xi+1 − t) に変化する。

ハジ君は自分の持っている励まし力を超えて励ますことはできない。

ハジ君が最適な励まし方をしたときの、がっちょ君が学校に行く最大日数を求めよ。

Input

入力は以下の形式で与えられる。

N P
X1 Y1
X2 Y2
...
XN YN

入力はすべて整数で与えられる。

1行目に期末試験までの日数Nとハジ君が最初に持っている励まし力Pが空白区切りで与えられる。

2行目から続くN行にはがっちょ君のi(i=1,2,...,N)日目のやる気Xiと学校に行くために必要なやる気Yiが空白区切りで与えられる。

Constraints

入力は以下の条件を満たす。

1 ≤ N ≤ 100

0 ≤ P ≤ 106

0 ≤ Xi ≤ 106

0 ≤ Yi ≤ 106

Output

がっちょ君が学校に行くことができる最大の日数を1行に出力せよ。

Sample Input 1

3 10
1 6
5 10
0 5

Sample Output 1

2

Sample Input 2

5 5
1 1
1 2
1 2
1 3
1 3

Sample Output 2

4
Problem E: Tangled Cables

Problem

とある会社のネットワーク上には$n$台のコンピュータと、それらをつなぐ$m$本の通信ケーブルがある。コンピュータは$0$から$n - 1$までの識別子で区別され、通信ケーブルもまた$0$から$m - 1$までの識別子をもつ。

現在この会社にある任意の異なる2台のコンピュータは、いくつかの通信ケーブルを介して相互に通信することができるが、通信経路がただ一つに定まるとは限らない。

このネットワークには、通信ケーブルが多すぎて絡まってしまうという問題がある。そこであなたは、任意の通信について通信経路がただ一つになるようにいくつかの通信ケーブルを取り除くことにした。

通信ケーブル$i$はコンピュータ$a_i$と$b_i$を双方向につなぎ、その長さは$c_i$である。また、あなたが通信ケーブル$i$を取り除く際にかかる労力は$d_i$である。

作業を始める前に、あなたは取り除く通信ケーブルの長さの和に対する、作業を終えるまでにかかる労力の和の比を「おっくう感」とし、最小のおっくう感を見積もることにした。

ただし、一つも取り除けない場合のおっくう感は$0$である。

Input

入力は以下の形式で与えられる。

$n$ $m$

$a_1$ $b_1$ $c_1$ $d_1$

$a_2$ $b_2$ $c_2$ $d_2$

...

$a_m$ $b_m$ $c_m$ $d_m$

入力はすべて整数で与えられる。

1行目にはコンピュータの数$n$と通信ケーブルの数$m$が空白区切りで与えられる。

2行目以降の$m$行には、通信ケーブルの情報が空白区切りで与えられる。$i$番目の通信ケーブルの情報は、通信ケーブル$i$の情報を表す。

Constraints

入力は以下の条件を満たす。

$2 \leq n \leq 10^4$

$n-1 \leq m \leq min(\frac{n \times (n - 1)}{2}, 10^4)$

$0 \leq a_i, b_i \leq n - 1 (a_i ≠ b_i)$

$1 \leq c_i \leq 10^6$

$0 \leq d_i \leq 10^6$

Output

おっくう感の最小値を実数で1行に出力する。ただし、$10^{-5}$を超える誤差を含んではならない。

Sample Input 1

4 5
0 2 22 13
0 3 15 25
1 2 3 3
1 3 28 5
2 3 5 22

Sample Output 1

0.36000

通信ケーブル$0$と通信ケーブル$3$を取り除くと、おっくう感は$(\frac{13 + 5}{22 + 28}) = 0.36$となり、これがおっくう感の最小値となる。

Sample Input 2

5 6
0 1 22 33
0 2 43 11
0 3 92 10
1 3 50 12
2 3 88 2
3 4 58 89

Sample Output 2

0.06667

Sample Input 3

2 1
0 1 1 1

Sample Output 3

0
Problem F: Great Devil Sakanikia

Problem

大悪魔サカーニャは今日も天敵の猫に襲われていた。

いつもやられている訳にはいかないので、秘密兵器を購入した。

この秘密兵器は、巨大な岩を生成することで猫の移動経路を塞ぎ、猫がこちらに近づけないようにすることができる。

今、サカーニャと一匹の猫がマス(0,0),(n−1,0),(n−1,m−1),(0,m−1)で囲まれた長方形の閉区間内にいる。

マス(0,0)に猫、マス(n−1,m−1)にサカーニャがいる。

猫は上下左右の隣接したマスに移動することができるが、区間外に出ることはできない。

いくつかのマスは、穴や障害物の影響で侵入することができない。

サカーニャは、あるマスに1つ岩を生成することでそのマスに猫が侵入できなくすることができる。

ただし、マス(0,0)とマス(n−1,m−1)に岩を生成することはできない。

マス(0,0)からマス(n−1,m−1)までの移動経路を塞ぐために必要な、生成する岩の数の最小値を求めよ。

Input

n m k
x1 y1
...
xk yk

入力はすべて整数で与えられる。

1行目にマスの大きさを表す２つの整数nとm、侵入できないマスの数kが空白区切りで与えられる。

2行目からk行に侵入できないマスの座標が与えられる。

Constraints

入力は以下の条件を満たす。

2 ≤ n,m ≤ 105

0 ≤ k ≤ min(n×m−2,105)

0 ≤ xi ≤ n − 1

0 ≤ yi ≤ m − 1

(xi,yi) ≠ (xj,yj) (i ≠ j)

(xi,yi) ≠ (0,0) ≠ (n−1,m−1)

Output

マス(0,0)からマス(n−1,m−1)までの移動経路を塞ぐために必要な、生成する岩の数の最小値を1行に出力せよ。

Sample Input 1

3 5 2
0 2
2 2

Sample Output 1

1

Sample Input 2

5 5 3
0 2
2 2
4 1

Sample Output 2

2
Problem G: Chairs

Problem

1からNの番号が割り当てられたN脚の椅子に、1からNのIDが割り当てられたN人の人が座ろうとしている。IDがiの人は椅子piに座りたいと思っている。

N人の人はIDが小さい順に1列に並び、列の先頭の人が以下の行動をとる。

椅子piに誰も座っていなければ、その椅子に座る。

そうでなければ、piに1を加算し、列の最後尾に並び直す。ただし、piがNを超えた場合はpiを1にする。

全ての人が椅子に座るまでこの行動が繰り返されたとき、最終的に各椅子に座っている人のIDを出力せよ。

Input

入力は以下の形式で与えられる。

N
p1 p2 ... pN

1行目に整数Nが与えられる。

2行目にN個の整数p1, p2, ..., pNが空白区切りで与えられる。

Constraints

入力は以下の条件を満たす。

1 ≤ N ≤ 105

1 ≤ pi ≤ N

Output

N行に最終的な状態を出力する。

i行目に椅子iに座っている人のIDを出力する。

Sample Input 1

5
1 2 3 4 5

Sample Output 1

1
2
3
4
5

Sample Input 2

5
3 3 4 4 5

Sample Output 2

4
2
1
3
5
Problem H: Zombie Hunter

Problem

がっちょ君は人気のゲーム、Zombie Hunterに熱中している。このゲームには、頭、胴、腕、腰、足専用の5種類の防具があり、がっちょ君が操作するプレイヤーキャラクター(PC)は、体の各部に対応する防具をそれぞれ最大1つまで装備することができる。

また、各防具には重さと防御力が設定されており、PCの装備している防具の重さの合計がA以上B以下であり、かつ防御力の合計もA以上B以下であるとき、そのPCはスキルを発動することができる。

がっちょ君はN個の防具を所持している。装備する防具を適切に選ぶことで、PCがスキルを発動することができるかを調べて欲しい。

Input

入力は以下の形式で与えられる。

N A B
t1 x1 y1
t2 x2 y2
...
tN xN yN

入力はすべて整数で与えられる。

1行目にがっちょ君が所有している防具の数N, スキルの発動条件に用いられる２つの整数AとBが与えられる。

2行目から続くN行に、N個の防具の情報が与えられる。ti, xi, yi はそれぞれi番目の防具の種類、重さ、防御力を表す。

防具の種類tiの値はそれぞれ、1のとき頭の防具、2のとき胴の防具、3のとき腕の防具、4のとき腰の防具、5のとき足の防具であることを示す。

Constraints

入力は以下の条件を満たす。

1 ≤ N ≤ 500

1 ≤ A ≤ B ≤ 1012

1 ≤ ti ≤ 5

−1012 ≤ xi,yi ≤ 1012

Output

スキルを発動することができる場合は”Yes”、できない場合は”No”を1行に出力せよ。

Sample Input 1

7 10 11
1 1 0
1 0 1
2 2 2
3 3 5
4 1 3
5 1 3
5 5 -1

Sample Output 1

Yes

頭に(0,1)

胴に(2,2)

腕に(3,5)

腰に(1,3)

足に(5,-1)

の防具を装備すると、重さの和が 0+2+3+1+5 = 11、守備力の和が 1+2+5+3+1 = 10 となり、両方の値がA以上でかつB以下となるのでスキルを発動させることができる。

Sample Input 2

7 10 10
1 1 0
1 0 1
2 2 2
3 3 5
4 1 3
5 1 3
5 5 -1

Sample Output 2

No
Problem I: Tree-Light

Problem

あなたはツリーライトというツリー状の照明器具を買ってきた。

この照明器具にはn個の接点があり、それぞれ0からn−1までの番号がついている。各接点は10段階の明るさを表現できる電球と、電球の状態を切り替えるための装置で構成されている。最初、すべての接点の電球の明るさは0である。

また、接点と接点の間にはケーブル線がある。すべての接点はn−1本のケーブル線によって繋がれており、接点0を上にして吊り下げられる。ここで、接点iから下方向に0本以上のケーブル線を介して、接点iと繋がる接点の集合を、接点iを根とした部分木と呼ぶ。

あなたはこの照明器具に対し、以下のいずれかの行動をとる。

count(r, x, y): 接点rを根とした部分木に含まれる接点の電球の中で、明るさがx以上y以下になっている電球の数を数える。

change(r, x, y): 接点rを根とした部分木に含まれる接点の電球の中で、明るさがちょうどxになっているすべての電球の明るさをyに変更する。

q回の行動が与えられるので、count(r, x, y)が与えられるたびにその時点での電球の数を出力せよ。

Input

入力は以下の形式で与えられる。

n q
u1 v1
u2 v2
...
un−1 vn−1
t1 r1 x1 y1
t2 r2 x2 y2
...
tq rq xq yq

1行目にツリーライトを構成する接点の数n、あなたのとる行動の数qが空白区切りで与えられる。

続くn−1行にはケーブル線の情報が空白区切りで与えられる。i番目のケーブル線の情報は、ケーブル線iが接点uiを上にして、接点uiと接点viを繋ぐことを表す。

n+1行目以降のq行にはあなたのとる行動が空白区切りで与えられる。ti = 1ならcount(ri, xi, yi)を、ti = 2ならchange(ri, xi, yi)を表す。

Constraints

1 ≤ n ≤ 105

1 ≤ q ≤ 105

0 ≤ ui, vi, ri ≤ n−1 (ui ≠ vi)

0 ≤ xi, yi ≤ 9 (ti = 1の時xi ≤ yi)

Output

各count(ri, xi, yi)について、その答えを1行に出力する。

Sample Input 1

7 5
0 1
1 2
1 3
0 4
4 5
4 6
1 0 0 9
2 0 0 5
2 1 5 8
1 0 5 8
1 0 8 8

Sample Output 1

7
7
3

Sample Input 2

7 5
0 1
1 2
2 3
0 4
4 5
5 6
2 1 0 5
2 4 0 6
2 3 5 6
2 5 6 5
1 0 0 5

Sample Output 2

5
Problem J: Demon's Plan

BackGround

デーモンズプランでは慾を司る108体の悪魔が日夜プログラミングコンテストでしのぎを削っている。主催であるパトローンは、全ての慾が集う場所”リクス＝マグナ”に悪魔たちを招待しようとしている。
パトローンはまだ招待を送っていない悪魔に招待を送りたいが、悪魔は世界各地におり、自分で行くのは面倒くさいので自身の使い魔達にやらせることにした。
パトローンは気が利くので使い魔同士がより平等に働くようにどの使い魔がどの悪魔を担当するかを割り振ろうとしている。

Problem

N体の使い魔とM体の悪魔がいる。
使い魔i と 悪魔j の距離は Hi jである。

各悪魔に必ず1人の使い魔を向かわせたい。どの使い魔がどの悪魔を訪問するかは以下の条件に従って割り振ることにした。

使い魔1体あたりの訪問する悪魔の数の差の最大を最小化する。

1を満たした上で訪問する悪魔と担当する使い魔の距離の最大を最小化する。

1行目に使い魔1体あたりの訪問する悪魔の数の差の最大を、2行目に悪魔と担当する使い魔の距離の最大を出力せよ。

Input

入力は以下の形式で与えられる。

N M
H0 0 H0 1 … H0 M−1
H1 0 H1 1 … H1 M−1
.
.
HN−1 0 HN−1 1 … HN−1 M−1

1行目に使い魔の数Nと悪魔の数Mが整数で空白区切りで与えられる。
続くN行に使い魔と悪魔の距離が整数で与えられる。Hijは使い魔iと悪魔jの距離を表す。

Constraints

1 ≤ N ≤ 108

1 ≤ M ≤ 108

1 ≤ Hi j ≤ 109 ( 0 ≤ i < N, 0 ≤ j < M ) ( 使い魔iから悪魔jまでの距離 )

Output

問題文の条件に従い、1行目に使い魔1体あたりの訪問する悪魔の数の差の最大を、2行目に悪魔と担当する使い魔の距離の最大を出力せよ。

Sample Input 1

3 3
1 2 3
2 1 2
3 2 1

Sample Output 1

0
1

使い魔0 - 悪魔0

使い魔1 - 悪魔1

使い魔2 - 悪魔2

と割り振ることで訪問する悪魔の数の差が0になり、担当使い魔と悪魔の距離の最大が1になり最適な組み合わせになる。

Sample Input 2

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

Sample Output 2

1
2

使い魔0 - 悪魔0

使い魔0 - 悪魔1

使い魔1 - 悪魔4

使い魔2 - 悪魔3

使い魔2 - 悪魔2

と割り振ることで訪問する悪魔の差が1になり、担当使い魔と悪魔の距離の最大が2になり最適な組み合わせになる。
Problem K: Donuts Purchase

Problem

ラフイは休暇の間することがなく暇で、なんとなくドーナツが食べたくなったので、店を巡りドーナツを購入していくことにした。

各街には1軒のドーナツ店があり、すべてのドーナツ店は奇数日が定休日となっている。

ラフイにはドーナツの好みがあるので、店によって得られる満足度が違う。

そこでラフイは最適に行動することで、できるだけ多くの満足度を得ることにした。

ラフイが住んでいる世界には、それぞれ0からn-1の番号が割り当てられたn個の街があり、それらはm本の道で繋がれている。

それぞれの道は一方通行になっており、ラフイは街aiから街biへ移動することができる。

最初ラフイは偶数日に街0にいる。

ラフイは街には留まらずに、1日に道を1本渡り別の街に移動する。

ラフイは街iに到着した日に、店が営業していれば1つドーナツを購入し、満足度ciを得る。

同じ街は何度でも訪れることができるが、1つの店では1度しか購入しない。

ラフイがこれ以上満足度を得られない状態になるまで最適に行動した時の満足度の合計の最大を求めよ。

Input

n m
c0 ... cn−1
a0 b0
...
am−1 bm−1

入力はすべて整数で与えられる。

1行目に街の数nと道の数mが空白区切りで与えられる。

2行目に街iの店でドーナツを購入した際に得られる満足度ciが空白区切りで与えられる。

続くm行に道の情報を表すaiとbiが空白区切りで与えられる。

Constraints

入力は以下の条件を満たす。

1 ≤ n ≤ 105

0 ≤ m ≤ min(n×(n−1),105)

0 ≤ ci ≤ 1000

0 ≤ ai,bi ≤ n − 1

自己ループ、多重辺は存在しない

Output

満足度の合計の最大値を1行に出力せよ。

Sample Input 1

2 1
1 2
0 1

Sample Output 1

1

Sample Input 2

5 5
1 1 1 1 1
0 1
1 2
2 3
3 0
3 4

Sample Output 2

3

Sample Input 3

4 4
1 1 1 1
0 1
1 2
2 0
2 3

Sample Output 3

4
Problem L: Select Sets

Problem

整数の集合がN個ある。 これらの集合にはそれぞれ1からNまでの番号が割り振られている。i番目の集合の要素数はKiであり、その集合の要素の中でj番目に小さい整数はai,jである。

太郎君はこの中から任意の数だけ集合を選ぶことになった。 ただ適当に選ぶだけではつまらないと思った太郎君は、少なくとも3つの集合を選ぶことにした。また、"選んだ集合の和集合の要素数"と"選んだ集合の積集合の要素数"の積ができるだけ大きくなるように選ぶことにした。

太郎君が最適に集合を選んだとき、"選んだ集合の和集合の要素数"と"選んだ集合の積集合の要素数"の積の最大値を求めよ。

Input

入力は以下の形式で与えられる。

N
K1 a1,1 a1,2 ... a1,K1
K2 a2,1 a2,2 ... a2,K2
...
KN aN,1 aN,2 ... aN,KN

Constraints

入力は以下の条件を満たす。

入力は全て整数である。

3 ≤ N ≤ 20,000

1 ≤ ai,j ≤ 22

ai,j < ai,j+1
( 1 ≤ i ≤ N )
( 1 ≤ j < Ki)

Output

太郎君が最適に選んだときの"選んだ集合の和集合の要素数"と"選んだ集合の積集合の要素数"の積の最大値を出力せよ。

Sample Input 1

4
1 5
2 3 5
3 3 5 7
4 3 5 7 9

Sample Output 1

8

Sample Input 2

5
4 1 4 5 6
4 1 7 8 9
3 1 2 3
3 1 2 3
3 1 2 3

Sample Output 2

9

Sample Input 3

3
2 3 4
2 2 5
2 1 6

Sample Output 3

0