Il y a un gâteau circulaire divisé en N morceaux par des lignes de coupe. Chaque ligne de coupe est un segment de ligne reliant le centre du cercle à un point de l'arc.
Les morceaux et les lignes de coupe sont numérotés 1, 2, \ldots, N dans le sens des aiguilles d'une montre, et le morceau i a une masse de A_i. Le morceau 1 est également appelé morceau N + 1.
La ligne de coupe i est entre les morceaux i et i + 1, et ils sont disposés dans le sens des aiguilles d'une montre dans cet ordre : morceau 1, ligne de coupe 1, morceau 2, ligne de coupe 2, \ldots, morceau N, ligne de coupe N.
Nous voulons diviser ce gâteau entre K personnes dans les conditions suivantes. Soit w_i la somme des masses des morceaux reçus par la i-ème personne.

- Chaque personne reçoit un ou plusieurs morceaux consécutifs.
- Il n'y a pas de morceaux que personne ne reçoit.
- Dans les deux conditions ci-dessus, \min(w_1, w_2, \ldots, w_K) est maximisé.

Trouvez la valeur de \min(w_1, w_2, \ldots, w_K) dans une division qui satisfait les conditions, et le nombre de lignes de coupe qui ne sont jamais coupées dans les divisions qui satisfont les conditions. Ici, la ligne de coupe i est considérée comme coupée si les pièces i et i + 1 sont données à des personnes différentes.

Entrée

L'entrée est donnée à partir de l'entrée standard au format suivant :
N K
A_1 A_2 \ldots A_N

Sortie

Soit x la valeur de \min(w_1, w_2, \ldots, w_K) dans une division qui satisfait les conditions, et y le nombre de lignes de coupe qui ne sont jamais coupées. Imprimez x et y dans cet ordre, séparés par un espace.

Contraintes

- 2 \leq K \leq N \leq 2 \times 10^5
- 1 \leq A_i \leq 10^4
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

5 2
3 6 8 6 4

Exemple de sortie 1

13 1

Les divisions suivantes satisfont aux conditions :

- Donnez les pièces 2, 3 à une personne et les pièces 4, 5, 1 à l'autre. Les pièces 2, 3 ont une masse totale de 14 et les pièces 4, 5, 1 ont une masse totale de 13.
- Donnez les pièces 3, 4 à une personne et les pièces 5, 1, 2 à l'autre. Les pièces 3, 4 ont une masse totale de 14, et les pièces 5, 1, 2 ont une masse totale de 13.

La valeur de \min(w_1, w_2) dans les divisions satisfaisant les conditions est 13, et il y a une ligne de coupe qui n'est coupée dans aucune des deux divisions : la ligne de coupe 5.

Exemple d'entrée 2

6 3
4 7 11 3 9 2

Exemple de sortie 2

11 1

Exemple d'entrée 3

10 3
2 9 8 1 7 9 1 3 5 8

Exemple de sortie 3

17 4

Un gâteau rond est divisé en N parts par des lignes de coupe. Chaque ligne de coupe est un segment de ligne reliant le centre du cercle à un point sur l'arc.
Les parts et les lignes de coupe sont numérotées 1, 2, \ldots, N dans le sens des aiguilles d'une montre, et la part i a une masse de A_i. La part 1 est également appelée part N + 1.
La ligne de coupe i est entre les parts i et i + 1, et elles sont disposées dans cet ordre dans le sens des aiguilles d'une montre : part 1, ligne de coupe 1, part 2, ligne de coupe 2, \ldots, part N, ligne de coupe N.
Nous voulons diviser ce gâteau entre K personnes dans les conditions suivantes. Soit w_i la somme des masses des parts reçues par la i-ème personne.

- Chaque personne reçoit une ou plusieurs parts consécutives.
- Il n'y a pas de parts que personne ne reçoit.
- Dans les deux conditions ci-dessus, \min(w_1, w_2, \ldots, w_K) est maximisé.

Trouvez la valeur de \min(w_1, w_2, \ldots, w_K) lors d'une division qui satisfait les conditions, et le nombre de lignes de coupe qui ne sont jamais coupées dans les divisions qui satisfont les conditions. Ici, la ligne de coupe i est considérée comme coupée si les parts i et i + 1 sont données à des personnes différentes.

Entrée

L'entrée est donnée à partir de l'entrée standard dans le format suivant :
N K
A_1 A_2 \ldots A_N

Sortie

Soit x la valeur de \min(w_1, w_2, \ldots, w_K) lors d'une division qui satisfait les conditions, et y le nombre de lignes de coupe qui ne sont jamais coupées. Affichez x et y dans cet ordre, séparés par un espace.

Contraintes

- 2 \leq K \leq N \leq 2 \times 10^5
- 1 \leq A_i \leq 10^4
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

5 2
3 6 8 6 4

Exemple de sortie 1

13 1

Les divisions suivantes satisfont les conditions :

- Donner les parts 2, 3 à une personne et les parts 4, 5, 1 à l'autre. Les parts 2, 3 ont une masse totale de 14, et les parts 4, 5, 1 ont une masse totale de 13.
- Donner les parts 3, 4 à une personne et les parts 5, 1, 2 à l'autre. Les parts 3, 4 ont une masse totale de 14, et les parts 5, 1, 2 ont une masse totale de 13.

La valeur de \min(w_1, w_2) dans les divisions satisfaisant les conditions est 13, et il y a une ligne de coupe qui n'est coupée dans aucune division : la ligne de coupe 5.

Exemple d'entrée 2

6 3
4 7 11 3 9 2

Exemple de sortie 2

11 1

Exemple d'entrée 3

10 3
2 9 8 1 7 9 1 3 5 8

Exemple de sortie 3

17 4

Un gâteau circulaire est divisé en N parts par des lignes de coupe. Chaque ligne de coupe est un segment de ligne reliant le centre du cercle à un point sur l'arc. Les parts et les lignes de coupe sont numérotées 1, 2, \ldots, N dans le sens des aiguilles d'une montre, et la part i a une masse de A_i. La part 1 est également appelée part N + 1. La ligne de coupe i est entre les parts i et i + 1, et elles sont disposées dans cet ordre dans le sens des aiguilles d'une montre : part 1, ligne de coupe 1, part 2, ligne de coupe 2, \ldots, part N, ligne de coupe N. Nous voulons diviser ce gâteau entre K personnes sous les conditions suivantes. Soit w_i la somme des masses des parts reçues par la i-ème personne.

- Chaque personne reçoit une ou plusieurs parts consécutives.
- Il n'y a pas de parts que personne ne reçoit.
- Sous les deux conditions ci-dessus, \min(w_1, w_2, \ldots, w_K) est maximisé.

Trouvez la valeur de \min(w_1, w_2, \ldots, w_K) lors d'une division qui satisfait les conditions, et le nombre de lignes de coupe qui ne sont jamais coupées dans les divisions qui satisfont les conditions. Ici, la ligne de coupe i est considérée comme coupée si les parts i et i + 1 sont données à des personnes différentes.

Entrée

L'entrée est donnée à partir de l'entrée standard dans le format suivant :
N K
A_1 A_2 \ldots A_N

Sortie

Soit x la valeur de \min(w_1, w_2, \ldots, w_K) lors d'une division qui satisfait les conditions, et y le nombre de lignes de coupe qui ne sont jamais coupées. Imprimez x et y dans cet ordre, séparés par un espace.

Contraintes

- 2 \leq K \leq N \leq 2 \times 10^5
- 1 \leq A_i \leq 10^4
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

5 2
3 6 8 6 4

Exemple de sortie 1

13 1

Les divisions suivantes satisfont les conditions :

- Donner les parts 2, 3 à une personne et les parts 4, 5, 1 à l'autre. Les parts 2, 3 ont une masse totale de 14, et les parts 4, 5, 1 ont une masse totale de 13.
- Donner les parts 3, 4 à une personne et les parts 5, 1, 2 à l'autre. Les parts 3, 4 ont une masse totale de 14, et les parts 5, 1, 2 ont une masse totale de 13.

La valeur de \min(w_1, w_2) dans les divisions satisfaisant les conditions est 13, et il y a une ligne de coupe qui n'est coupée dans aucune division : la ligne de coupe 5.

Exemple d'entrée 2

6 3
4 7 11 3 9 2

Exemple de sortie 2

11 1

Exemple d'entrée 3

10 3
2 9 8 1 7 9 1 3 5 8

Exemple de sortie 3

17 4


Dans le Royaume d'AtCoder, le fils aîné reçoit toujours le nom de Taro. Personne d'autre ne peut porter le nom de Taro.
Le fils aîné est le premier garçon né dans chaque famille.
Il y a N familles dans le Royaume, et M bébés sont nés. Avant la naissance des M bébés, aucune des N familles n'avait eu de bébé.
Les informations sur les bébés sont données dans l'ordre chronologique de leur naissance.
Le i-ème bébé est né dans la famille A_i, et c'est un garçon si B_i est M, et une fille si c'est F.
Déterminez pour chacun des M bébés si le nom donné est Taro.

Entrée

L'entrée est donnée à partir de l'entrée standard au format suivant :
N M
A_1 B_1
\vdots
A_M B_M

Sortie

Imprimez M lignes.
La i-ème ligne (1\leq i \leq M) doit contenir Yes si le nom donné au i-ème bébé est Taro, et No sinon.

Contraintes

- 1\leq N,M\leq 100
- 1\leq A_i\leq N
- B_i est M ou F.
- Tous les nombres dans l'entrée sont des entiers.

Exemple d'Entrée 1

2 4
1 M
1 M
2 F
2 M

Exemple de Sortie 1

Yes
No
No
Yes

Le premier bébé est le premier garçon né dans la famille 1, donc il est nommé Taro.
Le deuxième bébé n'est pas le premier garçon né dans la famille 1, donc il n'est pas nommé Taro.
Le troisième bébé est une fille, donc elle n'est pas nommée Taro.
Le quatrième bébé est le premier garçon né dans la famille 2, donc il est nommé Taro. Notez que le troisième bébé est également né dans la famille 2, mais c'est le premier garçon né qui est nommé Taro.

Exemple d'Entrée 2

4 7
2 M
3 M
1 F
4 F
4 F
1 F
2 M

Exemple de Sortie 2

Yes
Yes
No
No
No
No
No

Dans le Royaume d'AtCoder, l'aîné fils reçoit toujours le nom de Taro. Personne d'autre ne peut porter le nom de Taro.
L'aîné fils est le premier garçon né dans chaque famille.
Il y a N familles dans le Royaume, et M bébés sont nés. Avant la naissance des M bébés, aucune des N familles n'avait eu de bébé.
Les informations sur les bébés sont données dans l'ordre chronologique de leur naissance.
Le i-ème bébé est né dans la famille A_i, et c'est un garçon si B_i est M, et une fille si c'est F.
Déterminez pour chacun des M bébés si le nom donné est Taro.

Entrée

L'entrée est donnée à partir de l'entrée standard au format suivant :
N M
A_1 B_1
\vdots
A_M B_M

Sortie

Imprimez M lignes.
La i-ème ligne (1\leq i \leq M) doit contenir Yes si le nom donné au i-ème bébé est Taro, et No sinon.

Contraintes

- 1\leq N,M\leq 100
- 1\leq A_i\leq N
- B_i est M ou F.
- Tous les nombres dans l'entrée sont des entiers.

Exemple d'Entrée 1

2 4
1 M
1 M
2 F
2 M

Exemple de Sortie 1

Yes
No
No
Yes

Le premier bébé est le premier garçon né dans la famille 1, donc il est nommé Taro.
Le deuxième bébé n'est pas le premier garçon né dans la famille 1, donc il n'est pas nommé Taro.
Le troisième bébé est une fille, donc elle n'est pas nommée Taro.
Le quatrième bébé est le premier garçon né dans la famille 2, donc il est nommé Taro. Notez que le troisième bébé est également né dans la famille 2, mais c'est le premier garçon né qui est nommé Taro.

Exemple d'Entrée 2

4 7
2 M
3 M
1 F
4 F
4 F
1 F
2 M

Exemple de Sortie 2

Yes
Yes
No
No
No
No
No

Au Royaume d'AtCoder, le fils aîné reçoit toujours le nom de Taro. Personne d'autre ne reçoit le nom de Taro.
Le fils aîné est l'enfant mâle né le plus tôt dans chaque famille.
Il y a N familles dans le Royaume, et M bébés sont nés.  Avant la naissance des bébés M, aucune des N familles n'avait eu d'enfant.
Les informations concernant les bébés sont données dans l'ordre chronologique de leur naissance.
Le i-ème bébé est né dans la famille A_i, et le bébé est de sexe masculin si B_i est M, et de sexe féminin s'il est F.
Déterminez pour chacun des M bébés si le nom donné est Taro.

Entrée

L'entrée est fournie par l'entrée standard dans le format suivant :
N M
A_1 B_1
\vdots
A_M B_M

Sortie

Imprimer M lignes.
La i-ième ligne (1\leq i \leq M) doit contenir Oui si le nom donné au i-ième bébé est Taro, et Non sinon.

Contraintes

- 1\leq N,M\leq 100
- 1\leq A_i\leq N
- B_i est M ou F.
- Tous les nombres de l'entrée sont des entiers.

Exemple d'entrée 1

2 4
1 M
1 M
2 F
2 M

Échantillon de sortie 1

Yes
No
No
Yes

Le premier bébé est le garçon né le plus tôt dans la famille 1, il s'appelle donc Taro.
Le deuxième bébé n'est pas le premier garçon né dans la famille 1, il ne s'appelle donc pas Taro.
Le troisième bébé est une fille, elle ne s'appelle donc pas Taro.
Le quatrième bébé est le garçon né le plus tôt dans la famille 2, il s'appelle donc Taro. Notez que le troisième bébé est également né dans la famille 2, mais c'est le garçon né le plus tôt qui s'appelle Taro.

Exemple d'entrée 2

4 7
2 M
3 M
1 F
4 F
4 F
1 F
2 M

Échantillon de sortie 2

Yes
Yes
No
No
No
No
No


On considère N villages sur une ligne numérique. Le i-ème village est situé à la coordonnée X_i et a P_i villageois.
Répondez à Q requêtes. La i-ème requête est au format suivant :

- Étant donnés les entiers L_i et R_i, trouvez le nombre total de villageois vivant dans les villages situés entre les coordonnées L_i et R_i, inclusivement.

Entrée

L'entrée est donnée depuis l'entrée standard au format suivant :
N
X_1 \ldots X_N
P_1 \ldots P_N
Q
L_1 R_1
\vdots
L_Q R_Q

Sortie

Affichez Q lignes.
La i-ème ligne (1\leq i \leq Q) doit contenir la réponse à la i-ème requête.

Contraintes

- 1\leq N,Q\leq 2\times 10^5
- -10^9\leq X_1 < X_2 < \ldots < X_N \leq 10^9
- 1\leq P_i\leq 10^9
- -10^9\leq L_i \leq R_i \leq 10^9
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

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

Exemple de sortie 1

1
5
10
0

Considérons la première requête. Les villages entre les coordonnées 1 et 1 sont le village à la coordonnée 1, avec 1 villageois. Par conséquent, la réponse est 1.
Considérons la deuxième requête. Les villages entre les coordonnées 2 et 6 sont les villages aux coordonnées 3 et 5, avec 2 et 3 villageois respectivement. Par conséquent, la réponse est 2+3=5.

Exemple d'entrée 2

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

Exemple de sortie 2

26
15
7
26
18
28
26
11

Il y a N villages sur une droite numérique. Le i-ème village est situé à la coordonnée X_i et compte P_i villageois.
Répondez à Q requêtes. La i-ème requête est au format suivant :

- Étant donné les entiers L_i et R_i, trouvez le nombre total de villageois vivant dans les villages situés entre les coordonnées L_i et R_i, inclus.

Entrée

L'entrée est donnée à partir de l'entrée standard au format suivant :
N
X_1 \ldots X_N
P_1 \ldots P_N
Q
L_1 R_1
\vdots
L_Q R_Q

Sortie

Imprimez Q lignes.
La i-ème ligne (1\leq i \leq Q) doit contenir la réponse à la i-ème requête.

Contraintes

- 1\leq N,Q\leq 2\times 10^5
- -10^9\leq X_1 < X_2 < \ldots < X_N \leq 10^9
- 1\leq P_i\leq 10^9
- -10^9\leq L_i \leq R_i \leq 10^9
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

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

Exemple de sortie 1

1
5
10
0

Considérons la première requête. Les villages entre les coordonnées 1 et 1 sont le village à la coordonnée 1, avec 1 villageois. Par conséquent, la réponse est 1.
Considérons la deuxième requête. Les villages entre les coordonnées 2 et 6 sont les villages aux coordonnées 3 et 5, avec respectivement 2 et 3 villageois. Par conséquent, la réponse est 2+3=5.

Exemple d'entrée 2

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

Exemple de sortie 2

26
15
7
26
18
28
26
11

Il y a N villages sur une ligne de nombre. Le i-ème village est situé à la coordonnée X_i et a P_i villageois.
Répondez à Q requêtes. La i-ème requête est au format suivant :

- Étant donné les entiers L_i et R_i, trouvez le nombre total de villageois vivant dans les villages situés entre les coordonnées L_i et R_i, inclusivement.

Entrée

L'entrée est donnée depuis l'entrée standard au format suivant :
N
X_1 \ldots X_N
P_1 \ldots P_N
Q
L_1 R_1
\vdots
L_Q R_Q

Sortie

Affichez Q lignes.
La i-ème ligne (1\leq i \leq Q) doit contenir la réponse à la i-ème requête.

Contraintes

- 1\leq N,Q\leq 2\times 10^5
- -10^9\leq X_1 < X_2 < \ldots < X_N \leq 10^9
- 1\leq P_i\leq 10^9
- -10^9\leq L_i \leq R_i \leq 10^9
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

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

Exemple de sortie 1

1
5
10
0

Considérons la première requête. Les villages entre les coordonnées 1 et 1 sont le village à la coordonnée 1, avec 1 villageois. Par conséquent, la réponse est 1.
Considérons la deuxième requête. Les villages entre les coordonnées 2 et 6 sont les villages aux coordonnées 3 et 5, avec 2 et 3 villageois respectivement. Par conséquent, la réponse est 2+3=5.

Exemple d'entrée 2

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

Exemple de sortie 2

26
15
7
26
18
28
26
11


On donne les permutations P = (P_1, P_2, \ldots, P_N) et A = (A_1, A_2, \ldots, A_N) de (1,2,\ldots,N).
Vous pouvez effectuer l'opération suivante un nombre quelconque de fois, éventuellement nul :

- remplacer A_i par A_{P_i} simultanément pour tout i=1,2,\ldots,N.

Affichez le A lexicographiquement le plus petit possible qui puisse être obtenu.
Qu'est-ce que l'ordre lexicographique ?
 Pour des séquences de longueur N, A = (A_1, A_2, \ldots, A_N) et B = (B_1, B_2, \ldots, B_N), A est plus petit que B d'un point de vue lexicographique si et seulement si :

- il existe un entier i\ (1\leq i\leq N) tel que A_i < B_i, et A_j = B_j pour tout 1\leq j < i.

Entrée

L'entrée est donnée à partir de l'entrée standard dans le format suivant :
N
P_1 P_2 \ldots P_N
A_1 A_2 \ldots A_N

Sortie

Soit (A_1, A_2, \ldots, A_N) le A lexicographiquement le plus petit possible qui peut être obtenu. Affichez A_1, A_2, \ldots, A_N dans cet ordre, séparés par des espaces, sur une seule ligne.

Contraintes

- 1\leq N\leq2\times10^5
- 1\leq P_i\leq N\ (1\leq i\leq N)
- P_i\neq P_j\ (1\leq i<j\leq N)
- 1\leq A_i\leq N\ (1\leq i\leq N)
- A_i\neq A_j\ (1\leq i<j\leq N)
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

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

Exemple de sortie 1

1 4 2 5 3 6

Initialement, A = (4, 3, 1, 6, 2, 5).
Répéter l'opération donne les résultats suivants.

- A = (1, 4, 2, 5, 3, 6)
- A = (2, 1, 3, 6, 4, 5)
- A = (3, 2, 4, 5, 1, 6)
- A = (4, 3, 1, 6, 2, 5)

Après cela, A reviendra à l'état initial toutes les quatre opérations.
Affichez donc le plus petit d'un point de vue lexicographique parmi ceux-ci, qui est 1 4 2 5 3 6.

Exemple d'entrée 2

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

Exemple de sortie 2

1 2 3 4 5 6 7 8

Vous pouvez choisir de ne pas effectuer d'opérations.

Exemple d'entrée 3

26
24 14 4 20 15 19 16 11 23 22 12 18 21 3 6 8 26 2 25 7 13 1 5 9 17 10
15 3 10 1 13 19 22 24 20 4 14 23 7 26 25 18 11 6 9 12 2 21 5 16 8 17

Exemple de sortie 3

4 1 22 18 20 13 14 6 15 11 3 26 2 12 5 23 9 10 25 24 7 17 16 21 19 8

Vous avez les permutations P = (P_1, P_2, \ldots, P_N) et A = (A_1, A_2, \ldots, A_N) de (1,2,\ldots,N).
Vous pouvez effectuer l'opération suivante un nombre quelconque de fois, éventuellement nul :

- remplacer A_i par A_{P_i} simultanément pour tout i=1,2,\ldots,N.

Affichez le A le plus petit possible d'un point de vue lexicographique qui peut être obtenu.
Qu'est-ce que l'ordre lexicographique ?
Pour des séquences de longueur N, A = (A_1, A_2, \ldots, A_N) et B = (B_1, B_2, \ldots, B_N), A est plus petit que B d'un point de vue lexicographique si et seulement si :

- il existe un entier i\ (1\leq i\leq N) tel que A_i < B_i, et A_j = B_j pour tout 1\leq j < i.

Entrée

L'entrée est donnée à partir de l'entrée standard dans le format suivant :
N
P_1 P_2 \ldots P_N
A_1 A_2 \ldots A_N

Sortie

Soit (A_1, A_2, \ldots, A_N) le A le plus petit possible d'un point de vue lexicographique qui peut être obtenu. Imprimez A_1, A_2, \ldots, A_N dans cet ordre, séparés par des espaces, sur une seule ligne.

Contraintes

- 1\leq N\leq2\times10^5
- 1\leq P_i\leq N\ (1\leq i\leq N)
- P_i\neq P_j\ (1\leq i<j\leq N)
- 1\leq A_i\leq N\ (1\leq i\leq N)
- A_i\neq A_j\ (1\leq i<j\leq N)
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

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

Exemple de sortie 1

1 4 2 5 3 6

Initialement, A = (4, 3, 1, 6, 2, 5).
Répéter l'opération donne les résultats suivants.

- A = (1, 4, 2, 5, 3, 6)
- A = (2, 1, 3, 6, 4, 5)
- A = (3, 2, 4, 5, 1, 6)
- A = (4, 3, 1, 6, 2, 5)

Après cela, A reviendra à l'état initial toutes les quatre opérations.
Affichez donc le plus petit parmi ceux-ci, qui est 1 4 2 5 3 6.

Exemple d'entrée 2

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

Exemple de sortie 2

1 2 3 4 5 6 7 8

Vous pouvez choisir de ne pas effectuer d'opérations.

Exemple d'entrée 3

26
24 14 4 20 15 19 16 11 23 22 12 18 21 3 6 8 26 2 25 7 13 1 5 9 17 10
15 3 10 1 13 19 22 24 20 4 14 23 7 26 25 18 11 6 9 12 2 21 5 16 8 17

Exemple de sortie 3

4 1 22 18 20 13 14 6 15 11 3 26 2 12 5 23 9 10 25 24 7 17 16 21 19 8

On vous donne les permutations P = (P_1, P_2, \ldots, P_N) et A = (A_1, A_2, \ldots, A_N) de (1,2,\ldots,N).
Vous pouvez effectuer l'opération suivante autant de fois que vous le souhaitez, éventuellement zéro :

- remplacez A_i par A_{P_i} simultanément pour tout i=1,2,\ldots,N.

Imprimez le plus petit A lexicographiquement qui puisse être obtenu.
Qu'est-ce que l'ordre lexicographique ?
Pour des séquences de longueur N, A = (A_1, A_2, \ldots, A_N) et B = (B_1, B_2, \ldots, B_N), A est lexicographiquement plus petit que B si et seulement si :

- il existe un entier i\ (1\leq i\leq N) tel que A_i < B_i, et A_j = B_j pour tout 1\leq j < i.

Entrée

L'entrée est donnée à partir de l'entrée standard au format suivant :
N
P_1 P_2 \ldots P_N
A_1 A_2 \ldots A_N

Sortie

Soit (A_1, A_2, \ldots, A_N) le plus petit A lexicographiquement pouvant être obtenu. Imprimez A_1, A_2, \ldots, A_N dans cet ordre, séparés par des espaces, sur une seule ligne.

Contraintes

- 1\leq N\leq2\times10^5
- 1\leq P_i\leq N\ (1\leq i\leq N)
- P_i\neq P_j\ (1\leq i<j\leq N)
- 1\leq A_i\leq N\ (1\leq i\leq N)
- A_i\neq A_j\ (1\leq i<j\leq N)
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

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

Exemple de sortie 1

1 4 2 5 3 6

Au départ, A = (4, 3, 1, 6, 2, 5).
La répétition de l'opération donne ce qui suit.

- A = (1, 4, 2, 5, 3, 6)
- A = (2, 1, 3, 6, 4, 5)
- A = (3, 2, 4, 5, 1, 6)
- A = (4, 3, 1, 6, 2, 5)

Après cela, A reviendra à l'état d'origine toutes les quatre opérations.
Par conséquent, imprimez le plus petit lexicographiquement parmi ceux-ci, qui est 1 4 2 5 3 6.

Exemple d'entrée 2

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

Exemple de sortie 2

1 2 3 4 5 6 7 8

Vous pouvez choisir de n'effectuer aucune opération.

Exemple d'entrée 3

26
24 14 4 20 15 19 16 11 23 22 12 18 21 3 6 8 26 2 25 7 13 1 5 9 17 10
15 3 10 1 13 19 22 24 20 4 14 23 7 26 25 18 11 6 9 12 2 21 5 16 8 17

Exemple de sortie 3

4 1 22 18 20 13 14 6 15 11 3 26 2 12 5 23 9 10 25 24 7 17 16 21 19 8


Une route s'étend vers l'est et l'ouest, et N personnes se trouvent sur la route.
La route s'étend infiniment vers l'est et l'ouest à partir d'un point appelé l'origine.
La i-ème personne (1\leq i\leq N) est initialement à une position X_i mètres à l'est de l'origine.
Les personnes peuvent se déplacer le long de la route vers l'est ou l'ouest.
En particulier, elles peuvent effectuer le mouvement suivant un nombre quelconque de fois.

- Choisir une personne. S'il n'y a pas d'autre personne à la destination, déplacer la personne choisie d'1 mètre vers l'est ou l'ouest.

Elles ont au total Q tâches, et la i-ème tâche (1\leq i\leq Q) est la suivante.

- La T_i-ème personne arrive à la coordonnée G_i.

Trouver le nombre total minimum de mouvements nécessaires pour accomplir toutes les Q tâches dans l'ordre.

Entrée

L'entrée est donnée depuis l'entrée standard dans le format suivant :
N
X_1 X_2 \ldots X_N
Q
T_1 G_1
T_2 G_2
\vdots
T_Q G_Q

Sortie

Afficher la réponse.

Contraintes

- 1\leq N\leq2\times10^5
- 0\leq X_1 < X_2 < \dotsb < X_N \leq10^8
- 1\leq Q\leq2\times10^5
- 1\leq T_i\leq N\ (1\leq i\leq Q)
- 0\leq G_i\leq10^8\ (1\leq i\leq Q)
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

5
10 20 30 40 50
4
3 45
4 20
1 35
2 60

Exemple de sortie 1

239

Une séquence optimale de mouvements pour les personnes est la suivante (les positions des personnes ne sont pas nécessairement à l'échelle) :

Pour chaque tâche, les personnes se déplacent comme suit.

- La 4ème personne se déplace de 6 pas vers l'est, et la 3ème personne se déplace de 15 pas vers l'est.
- La 2ème personne se déplace de 2 pas vers l'ouest, la 3ème personne se déplace de 26 pas vers l'ouest, et la 4ème personne se déplace de 26 pas vers l'ouest.
- La 4ème personne se déplace de 18 pas vers l'est, la 3ème personne se déplace de 18 pas vers l'est, la 2ème personne se déplace de 18 pas vers l'est, et la 1ère personne se déplace de 25 pas vers l'est.
- La 5ème personne se déplace de 13 pas vers l'est, la 4ème personne se déplace de 24 pas vers l'est, la 3ème personne se déplace de 24 pas vers l'est, et la 2ème personne se déplace de 24 pas vers l'est.

Le nombre total de mouvements est 21+54+79+85=239.
Vous ne pouvez pas accomplir toutes les tâches avec un nombre total de mouvements inférieur ou égal à 238, donc affichez 239.

Exemple d'entrée 2

8
0 1 2 3 4 5 6 100000000
6
1 100000000
8 0
1 100000000
8 4
1 100000000
5 21006578

Exemple de sortie 2

4294967297

Notez que certaines personnes peuvent avoir besoin de se déplacer à l'ouest de l'origine ou à plus de 10^8 mètres à l'est de celle-ci.
Notez également que la réponse peut dépasser 2^{32}.

Exemple d'entrée 3

12
1558 3536 3755 3881 4042 4657 5062 7558 7721 8330 8542 9845
8
9 1694
7 3296
12 5299
5 5195
5 5871
1 2491
8 1149
8 2996

Exemple de sortie 3

89644

Une route s'étend vers l'est et l'ouest, et N personnes se trouvent sur la route.
La route s'étend infiniment vers l'est et l'ouest à partir d'un point appelé l'origine.
La i-ème personne (1\leq i\leq N) est initialement à une position X_i mètres à l'est de l'origine.
Les personnes peuvent se déplacer le long de la route vers l'est ou l'ouest.
En particulier, elles peuvent effectuer le mouvement suivant un nombre quelconque de fois.

- Choisir une personne. S'il n'y a pas d'autre personne à la destination, déplacer la personne choisie d'1 mètre vers l'est ou l'ouest.

Elles ont au total Q tâches, et la i-ème tâche (1\leq i\leq Q) est la suivante.

- La T_i-ème personne arrive à la coordonnée G_i.

Trouver le nombre total minimum de mouvements nécessaires pour accomplir toutes les Q tâches dans l'ordre.

Entrée

L'entrée est donnée depuis l'entrée standard dans le format suivant :
N
X_1 X_2 \ldots X_N
Q
T_1 G_1
T_2 G_2
\vdots
T_Q G_Q

Sortie

Affichezla réponse.

Contraintes

- 1\leq N\leq2\times10^5
- 0\leq X_1 < X_2 < \dotsb < X_N \leq10^8
- 1\leq Q\leq2\times10^5
- 1\leq T_i\leq N\ (1\leq i\leq Q)
- 0\leq G_i\leq10^8\ (1\leq i\leq Q)
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

5
10 20 30 40 50
4
3 45
4 20
1 35
2 60

Exemple de sortie 1

239

Une séquence optimale de mouvements pour les personnes est la suivante (les positions des personnes ne sont pas nécessairement à l'échelle) :

Pour chaque tâche, les personnes se déplacent comme suit.

- La 4ème personne se déplace de 6 pas vers l'est, et la 3ème personne se déplace de 15 pas vers l'est.
- La 2ème personne se déplace de 2 pas vers l'ouest, la 3ème personne se déplace de 26 pas vers l'ouest, et la 4ème personne se déplace de 26 pas vers l'ouest.
- La 4ème personne se déplace de 18 pas vers l'est, la 3ème personne se déplace de 18 pas vers l'est, la 2ème personne se déplace de 18 pas vers l'est, et la 1ère personne se déplace de 25 pas vers l'est.
- La 5ème personne se déplace de 13 pas vers l'est, la 4ème personne se déplace de 24 pas vers l'est, la 3ème personne se déplace de 24 pas vers l'est, et la 2ème personne se déplace de 24 pas vers l'est.

Le nombre total de mouvements est 21+54+79+85=239.
Vous ne pouvez pas accomplir toutes les tâches avec un total de mouvements de 238 ou moins, donc affichez 239.

Exemple d'entrée 2

8
0 1 2 3 4 5 6 100000000
6
1 100000000
8 0
1 100000000
8 4
1 100000000
5 21006578

Exemple de sortie 2

4294967297

Notez que certaines personnes peuvent avoir besoin de se déplacer à l'ouest de l'origine ou à plus de 10^8 mètres à l'est de celle-ci.
Notez également que la réponse peut dépasser 2^{32}.

Exemple d'entrée 3

12
1558 3536 3755 3881 4042 4657 5062 7558 7721 8330 8542 9845
8
9 1694
7 3296
12 5299
5 5195
5 5871
1 2491
8 1149
8 2996

Exemple de sortie 3

89644

Il y a une route qui s'étend d'est en ouest, et N personnes sont sur la route.
La route s'étend infiniment vers l'est et l'ouest à partir d'un point appelé l'origine.
La i-ème personne (1\leq i\leq N) se trouve initialement à une position X_i mètres à l'est de l'origine.
Les personnes peuvent se déplacer le long de la route vers l'est ou l'ouest.
Plus précisément, elles peuvent effectuer le mouvement suivant autant de fois que nécessaire.

- Choisissez une personne. S'il n'y a pas d'autre personne à destination, déplacez la personne choisie d'un mètre vers l'est ou l'ouest.

Ils ont Q tâches au total, et la i-ème tâche (1\leq i\leq Q) est la suivante.

- La T_i-ème personne arrive à la coordonnée G_i.

Trouvez le nombre total minimum de mouvements requis pour accomplir toutes les Q tâches dans l'ordre.

Entrée

L'entrée est donnée à partir de l'entrée standard au format suivant :
N
X_1 X_2 \ldots X_N
Q
T_1 G_1
T_2 G_2
\vdots
T_Q G_Q

Sortie

Imprimer la réponse.

Contraintes

- 1\leq N\leq2\times10^5
- 0\leq X_1 < X_2 < \dotsb < X_N \leq10^8
- 1\leq Q\leq2\times10^5
- 1\leq T_i\leq N\ (1\leq i\leq Q)
- 0\leq G_i\leq10^8\ (1\leq i\leq Q)
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

5
10 20 30 40 50
4
3 45
4 20
1 35
2 60

Exemple de sortie 1

239

Une séquence optimale de mouvements pour les personnes est la suivante (les positions des personnes ne sont pas nécessairement dessinées à l'échelle) :

Pour chaque tâche, les personnes se déplacent comme suit.

- La 4e personne se déplace de 6 pas vers l'est et la 3e personne se déplace de 15 pas vers l'est.
- La 2e personne se déplace de 2 pas vers l'ouest, la 3e personne se déplace de 26 pas vers l'ouest et la 4e personne se déplace de 26 pas vers l'ouest.
- La 4e personne se déplace de 18 pas vers l'est, la 3e personne se déplace de 18 pas vers l'est, la 2e personne se déplace de 18 pas vers l'est et la 1re personne se déplace de 25 pas vers l'est.
- La 5e personne se déplace de 13 pas vers l'est, la 4e personne se déplace de 24 pas vers l'est, la 3e personne se déplace de 24 pas vers l'est et la 2e personne se déplace de 24 pas vers l'est.

Le nombre total de mouvements est de 21+54+79+85=239.
Vous ne pouvez pas terminer toutes les tâches avec un nombre total de mouvements de 238 ou moins, alors imprimez 239.

Exemple d'entrée 2

8
0 1 2 3 4 5 6 100000000
6
1 100000000
8 0
1 100000000
8 4
1 100000000
5 21006578

Exemple de sortie 2

4294967297

Notez que certaines personnes peuvent avoir besoin de se déplacer vers l'ouest de l'origine ou de plus de 10^8 mètres vers l'est de celle-ci.
Notez également que la réponse peut dépasser 2^{32}.

Exemple d'entrée 3

12
1558 3536 3755 3881 4042 4657 5062 7558 7721 8330 8542 9845
8
9 1694
7 3296
12 5299
5 5195
5 5871
1 2491
8 1149
8 2996

Exemple de sortie 3

89644


On vous donne des graphes simples non orientés G et H, chacun avec N sommets : sommets 1, 2, \ldots, N.
Le graphe G a M_G arêtes, et sa i-ème arête (1\leq i\leq M_G) relie les sommets u_i et v_i.
Le graphe H a M_H arêtes, et sa i-ème arête (1\leq i\leq M_H) relie les sommets a_i et b_i.
Vous pouvez effectuer l'opération suivante sur le graphe H autant de fois que vous le souhaitez, éventuellement zéro.

- Choisissez une paire d'entiers (i,j) satisfaisant 1\leq i<j\leq N. Payez A_{i,j} yens, et s'il n'y a pas d'arête entre les sommets i et j dans H, ajoutez-en une ; s'il y en a, supprimez-la.

Trouvez le coût total minimum requis pour rendre G et H isomorphes.
Qu'est-ce qu'un graphe simple non orienté ?
Un graphe simple non orienté est un graphe sans boucles ou arêtes multiples, où les arêtes n'ont pas de direction.

Que signifie pour les graphes d'être isomorphes ? Deux graphes G et H à N sommets sont isomorphes si et seulement s'il existe une permutation (P_1,P_2,\ldots,P_N) de (1,2,\ldots,N) telle que pour tout 1\leq i\lt j\leq N :

- une arête existe entre les sommets i et j de G si et seulement si une arête existe entre les sommets P_i et P_j de H.

Entrée

L'entrée est donnée depuis l'entrée standard au format suivant :
N
M _ G
u _ 1 v _ 1
u _ 2 v _ 2
\vdots
u _ {M _ G} v _ {M _ G}
M _ H
a _ 1 b _ 1
a _ 2 b _ 2
\vdots
a _ {M _ H} b _ {M _ H}
A _ {1,2} A _ {1,3} \ldots A _ {1,N}
A _ {2,3} \ldots A _ {2,N}
\vdots
A _ {N-1,N}

Sortie

Imprimer la réponse.

Contraintes

- 1\leq N\leq8
- 0\leq M _ G\leq\dfrac{N(N-1)}2
- 0\leq M _ H\leq\dfrac{N(N-1)}2
- 1\leq u _ i\lt v _ i\leq N\ (1\leq i\leq M _ G)
- (u _ i,v _ i)\neq(u _ j,v _ j)\ (1\leq i\lt j\leq M _ G)
- 1\leq a _ i\lt b _ i\leq N\ (1\leq i\leq M _ H)
- (a _ i,b _ i)\neq(a _ j,b _ j)\ (1\leq i\lt j\leq M _ H)
- 1\leq A _ {i,j}\leq 10 ^ 6\ (1\leq i\lt j\leq N)
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

5
4
1 2
2 3
3 4
4 5
4
1 2
1 3
1 4
1 5
3 1 4 1
5 9 2
6 5
3

Exemple de sortie 1

9

Les graphiques donnés sont les suivants :

Par exemple, vous pouvez effectuer les quatre opérations suivantes sur H pour le rendre isomorphe à G au coût de 9 yens.

- Choisissez (i,j)=(1,3). Il y a une arête entre les sommets 1 et 3 dans H, donc payez 1 yens pour la supprimer.
- Choisissez (i,j)=(2,5). Il n'y a pas d'arête entre les sommets 2 et 5 dans H, donc payez 2 yens pour l'ajouter.
- Choisissez (i,j)=(1,5). Il y a une arête entre les sommets 1 et 5 dans H, donc payez 1 yen pour la supprimer.
- Choisissez (i,j)=(3,5). Il n'y a pas d'arête entre les sommets 3 et 5 dans H, donc payez 5 yen pour l'ajouter.

Après ces opérations, H devient :

Vous ne pouvez pas rendre G et H isomorphes à un coût inférieur à 9 yens, donc imprimez 9.

Exemple d'entrée 2

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

Exemple de sortie 2

3

Par exemple, effectuer les opérations (i,j)=(2,3),(2,4),(3,4) sur H le rendra isomorphe à G.

Exemple d'entrée 3

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

Exemple de sortie 3

5

Par exemple, effectuer l'opération (i,j)=(4,5) une fois rendra G et H isomorphe.

Exemple d'entrée 4

2
0
0
371

Exemple de sortie 4

0

Notez que G et H peuvent ne pas avoir d'arêtes.
Il est également possible qu'aucune opération ne soit nécessaire.

Exemple d'entrée 5

8
13
1 8
5 7
4 6
1 5
7 8
1 6
1 2
5 8
2 6
5 6
6 7
3 7
4 8
15
3 5
1 7
4 6
3 8
7 8
1 2
5 6
1 6
1 5
1 4
2 8
2 6
2 4
4 7
1 3
7483 1694 5868 3296 9723 5299 4326
5195 4088 5871 1384 2491 6562
1149 6326 2996 9845 7557
4041 7720 1554 5060
8329 8541 3530
4652 3874
3748

Exemple de sortie 5

21214

Vous disposez de graphes simples non orientés G et H, chacun avec N sommets : sommets 1, 2, \ldots, N.
Le graphe G a M_G arêtes, et sa i-ème arête (1\leq i\leq M_G) relie les sommets u_i et v_i.
Le graphe H a M_H arêtes, et sa i-ème arête (1\leq i\leq M_H) relie les sommets a_i et b_i.
Vous pouvez effectuer l'opération suivante sur le graphe H un nombre quelconque de fois, éventuellement zéro.

- Choisissez une paire d'entiers (i,j) satisfaisant 1\leq i<j\leq N. Payez A_{i,j} yens, et s'il n'y a pas d'arête entre les sommets i et j dans H, ajoutez-en une ; s'il y en a une, supprimez-la.

Trouvez le coût total minimum requis pour rendre G et H isomorphes.
Qu'est-ce qu'un graphe simple non orienté ?
 Un graphe simple non orienté est un graphe sans boucles ni multi-arêtes, où les arêtes n'ont pas de direction.

Que signifie pour des graphes d'être isomorphes ?
 Deux graphes G et H avec N sommets sont isomorphes si et seulement s'il existe une permutation (P_1,P_2,\ldots,P_N) de (1,2,\ldots,N) telle que pour tous 1\leq i<j\leq N :

-  il existe une arête entre les sommets i et j dans G si et seulement si il existe une arête entre les sommets P_i et P_j dans H.

Entrée

L'entrée est donnée depuis l'entrée standard au format suivant :
N
M _ G
u _ 1 v _ 1
u _ 2 v _ 2
\vdots
u _ {M _ G} v _ {M _ G}
M _ H
a _ 1 b _ 1
a _ 2 b _ 2
\vdots
a _ {M _ H} b _ {M _ H}
A _ {1,2} A _ {1,3} \ldots A _ {1,N}
A _ {2,3} \ldots A _ {2,N}
\vdots
A _ {N-1,N}

Sortie

Affichez la réponse.

Contraintes

- 1\leq N\leq8
- 0\leq M _ G\leq\dfrac{N(N-1)}2
- 0\leq M _ H\leq\dfrac{N(N-1)}2
- 1\leq u _ i<v _ i\leq N\ (1\leq i\leq M _ G)
- (u _ i,v _ i)\neq(u _ j,v _ j)\ (1\leq i<j\leq M _ G)
- 1\leq a _ i<b _ i\leq N\ (1\leq i\leq M _ H)
- (a _ i,b _ i)\neq(a _ j,b _ j)\ (1\leq i<j\leq M _ H)
- 1\leq A _ {i,j}\leq 10 ^ 6\ (1\leq i<j\leq N)
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

5
4
1 2
2 3
3 4
4 5
4
1 2
1 3
1 4
1 5
3 1 4 1
5 9 2
6 5
3

Exemple de sortie 1

9

Les graphes donnés sont les suivants :

Par exemple, vous pouvez effectuer les quatre opérations suivantes sur H pour le rendre isomorphe à G à un coût de 9 yens.

- Choisir (i,j)=(1,3). Il y a une arête entre les sommets 1 et 3 dans H, donc payer 1 yen pour la supprimer.
- Choisir (i,j)=(2,5). Il n'y a pas d'arête entre les sommets 2 et 5 dans H, donc payer 2 yens pour l'ajouter.
- Choisir (i,j)=(1,5). Il y a une arête entre les sommets 1 et 5 dans H, donc payer 1 yen pour la supprimer.
- Choisir (i,j)=(3,5). Il n'y a pas d'arête entre les sommets 3 et 5 dans H, donc payer 5 yens pour l'ajouter.

Après ces opérations, H devient :

Vous ne pouvez pas rendre G et H isomorphes à un coût inférieur à 9 yens, donc imprimez 9.

Exemple d'entrée 2

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

Exemple de sortie 2

3

Par exemple, effectuer les opérations (i,j)=(2,3),(2,4),(3,4) sur H le rendra isomorphe à G.

Exemple d'entrée 3

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

Exemple de sortie 3

5

Par exemple, effectuer l'opération (i,j)=(4,5) une fois rendra G et H isomorphes.

Exemple d'entrée 4

2
0
0
371

Exemple de sortie 4

0

Notez que G et H peuvent ne pas avoir d'arêtes.
De plus, il est possible qu'aucune opération ne soit nécessaire.

Exemple d'entrée 5

8
13
1 8
5 7
4 6
1 5
7 8
1 6
1 2
5 8
2 6
5 6
6 7
3 7
4 8
15
3 5
1 7
4 6
3 8
7 8
1 2
5 6
1 6
1 5
1 4
2 8
2 6
2 4
4 7
1 3
7483 1694 5868 3296 9723 5299 4326
5195 4088 5871 1384 2491 6562
1149 6326 2996 9845 7557
4041 7720 1554 5060
8329 8541 3530
4652 3874
3748

Exemple de sortie 5

21214

Vous disposez de graphes simples non orientés G et H, chacun avec N sommets : sommets 1, 2, \ldots, N.
Le graphe G a M_G arêtes, et sa i-ème arête (1\leq i\leq M_G) relie les sommets u_i et v_i.
Le graphe H a M_H arêtes, et sa i-ème arête (1\leq i\leq M_H) relie les sommets a_i et b_i.
Vous pouvez effectuer l'opération suivante sur le graphe H un nombre quelconque de fois, éventuellement zéro.

- Choisissez une paire d'entiers (i,j) satisfaisant 1\leq i<j\leq N. Payez A_{i,j} yens, et s'il n'y a pas d'arête entre les sommets i et j dans H, ajoutez-en une ; s'il y en a une, supprimez-la.

Trouvez le coût total minimum requis pour rendre G et H isomorphes.
Qu'est-ce qu'un graphe simple non orienté ?
 Un graphe simple non orienté est un graphe sans boucles ni multi-arêtes, où les arêtes n'ont pas de direction.

Que signifie pour des graphes d'être isomorphes ?
 Deux graphes G et H avec N sommets sont isomorphes si et seulement s'il existe une permutation (P_1,P_2,\ldots,P_N) de (1,2,\ldots,N) telle que pour tous 1\leq i<j\leq N :

-  Il existe une arête entre les sommets i et j dans G si et seulement s'il existe une arête entre les sommets P_i et P_j dans H.

Entrée

L'entrée est donnée depuis l'entrée standard au format suivant :
N
M _ G
u _ 1 v _ 1
u _ 2 v _ 2
\vdots
u _ {M _ G} v _ {M _ G}
M _ H
a _ 1 b _ 1
a _ 2 b _ 2
\vdots
a _ {M _ H} b _ {M _ H}
A _ {1,2} A _ {1,3} \ldots A _ {1,N}
A _ {2,3} \ldots A _ {2,N}
\vdots
A _ {N-1,N}

Sortie

Affichez la réponse.

Contraintes

- 1\leq N\leq8
- 0\leq M _ G\leq\dfrac{N(N-1)}2
- 0\leq M _ H\leq\dfrac{N(N-1)}2
- 1\leq u _ i<v _ i\leq N\ (1\leq i\leq M _ G)
- (u _ i,v _ i)\neq(u _ j,v _ j)\ (1\leq i<j\leq M _ G)
- 1\leq a _ i<b _ i\leq N\ (1\leq i\leq M _ H)
- (a _ i,b _ i)\neq(a _ j,b _ j)\ (1\leq i<j\leq M _ H)
- 1\leq A _ {i,j}\leq 10 ^ 6\ (1\leq i<j\leq N)
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

5
4
1 2
2 3
3 4
4 5
4
1 2
1 3
1 4
1 5
3 1 4 1
5 9 2
6 5
3

Exemple de sortie 1

9

Les graphes donnés sont les suivants :

Par exemple, vous pouvez effectuer les quatre opérations suivantes sur H pour le rendre isomorphe à G à un coût de 9 yens.

- Choisir (i,j)=(1,3). Il y a une arête entre les sommets 1 et 3 dans H, donc payer 1 yen pour la supprimer.
- Choisir (i,j)=(2,5). Il n'y a pas d'arête entre les sommets 2 et 5 dans H, donc payer 2 yens pour l'ajouter.
- Choisir (i,j)=(1,5). Il y a une arête entre les sommets 1 et 5 dans H, donc payer 1 yen pour la supprimer.
- Choisir (i,j)=(3,5). Il n'y a pas d'arête entre les sommets 3 et 5 dans H, donc payer 5 yens pour l'ajouter.

Après ces opérations, H devient :

Vous ne pouvez pas rendre G et H isomorphes à un coût inférieur à 9 yens, donc imprimez 9.

Exemple d'entrée 2

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

Exemple de sortie 2

3

Par exemple, effectuer les opérations (i,j)=(2,3),(2,4),(3,4) sur H le rendra isomorphe à G.

Exemple d'entrée 3

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

Exemple de sortie 3

5

Par exemple, effectuer l'opération (i,j)=(4,5) une fois rendra G et H isomorphes.

Exemple d'entrée 4

2
0
0
371

Exemple de sortie 4

0

Notez que G et H peuvent ne pas avoir d'arêtes.
De plus, il est possible qu'aucune opération ne soit nécessaire.

Exemple d'entrée 5

8
13
1 8
5 7
4 6
1 5
7 8
1 6
1 2
5 8
2 6
5 6
6 7
3 7
4 8
15
3 5
1 7
4 6
3 8
7 8
1 2
5 6
1 6
1 5
1 4
2 8
2 6
2 4
4 7
1 3
7483 1694 5868 3296 9723 5299 4326
5195 4088 5871 1384 2491 6562
1149 6326 2996 9845 7557
4041 7720 1554 5060
8329 8541 3530
4652 3874
3748

Exemple de sortie 5

21214


On vous donne une séquence d'entiers A = (A_1, A_2, \ldots, A_N) de longueur N.
                    Définissez f(l, r) comme :

- le nombre de valeurs distinctes dans la sous-séquence (A_l, A_{l+1}, \ldots, A_r).

Évaluer l'expression suivante :

\displaystyle \sum_{i=1}^{N}\sum_{j=i}^N f(i,j).

Entrée

L'entrée est fournie par l'entrée standard dans le format suivant :
N
A_1 \ldots A_N

Sortie

Imprime la réponse.

Contraintes

- 1\leq N\leq 2\times 10^5
- 1\leq A_i\leq N
- Toutes les valeurs d'entrée sont des nombres entiers.

Exemple d'entrée 1

3
1 2 2

Exemple de sortie 1

8

Considérons f(1,2). La sous-séquence (A_1, A_2) = (1,2) contient 2 valeurs distinctes, donc f(1,2)=2.
Considérons f(2,3). La sous-séquence (A_2, A_3) = (2,2) contient 1
                    valeur distincte, donc f(2,3)=1.
La somme de f est 8.

Exemple d'entrée 2

9
5 4 2 2 3 2 4 4 1

Exemple de sortie 2

111

Vous avez une séquence d'entiers A = (A_1, A_2, \ldots, A_N) de longueur N.
                    Définissez f(l, r) comme :

- le nombre de valeurs distinctes dans la sous-séquence (A_l, A_{l+1}, \ldots, A_r).

Évaluez l'expression suivante :

\displaystyle \sum_{i=1}^{N}\sum_{j=i}^N f(i,j).

Entrée

L'entrée est donnée à partir de l'entrée standard dans le format suivant :
N
A_1 \ldots A_N

Sortie

Affichez  la réponse.

Contraintes

- 1\leq N\leq 2\times 10^5
- 1\leq A_i\leq N
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

3
1 2 2

Exemple de sortie 1

8

Considérons f(1,2). La sous-séquence (A_1, A_2) = (1,2) contient 2
                    valeurs distinctes, donc f(1,2)=2.
Considérons f(2,3). La sous-séquence (A_2, A_3) = (2,2) contient 1
                    valeur distincte, donc f(2,3)=1.
La somme de f est 8.

Exemple d'entrée 2

9
5 4 2 2 3 2 4 4 1

Exemple de sortie 2

111


Il y a trois frères nommés A, B et C. Les relations d'âge entre eux sont données par trois caractères S_{\mathrm{AB}}, S_{\mathrm{AC}}, S_{\mathrm{BC}}, qui signifient ce qui suit :

- Si S_{\mathrm{AB}} est <, alors A est plus jeune que B ; s'il est >, alors A est plus âgé que B.
- Si S_{\mathrm{AC}} est <, alors A est plus jeune que C ; s'il est >, alors A est plus âgé que C.
- Si S_{\mathrm{BC}} est <, alors B est plus jeune que C ; s'il est >, alors B est plus âgé que C.

Qui est le frère du milieu, c'est-à-dire le deuxième plus âgé parmi les trois ?

Entrée

L'entrée est donnée à partir de l'entrée standard dans le format suivant :
S_{\mathrm{AB}} S_{\mathrm{AC}} S_{\mathrm{BC}}

Sortie

Affichez le nom du frère du milieu, c'est-à-dire le deuxième plus âgé parmi les trois.

Contraintes

- Chacun des S_{\mathrm{AB}}, S_{\mathrm{AC}}, S_{\mathrm{BC}} est < ou >.
- L'entrée ne contient pas de contradictions ; c'est-à-dire qu'il existe toujours une relation d'âge qui satisfait toutes les inégalités données.

Exemple d'entrée 1

< < <

Exemple de sortie 1

B

Puisque A est plus jeune que B, et B est plus jeune que C, nous pouvons déterminer que C est le plus âgé, B est le milieu, et A est le plus jeune. Par conséquent, la réponse est B.

Exemple d'entrée 2

< < >

Exemple de sortie 2

C

Il y a trois frères nommés A, B et C. Les relations d'âge entre eux sont données par trois caractères S_{\mathrm{AB}}, S_{\mathrm{AC}}, S_{\mathrm{BC}}, qui signifient ce qui suit :

- Si S_{\mathrm{AB}} est <, alors A est plus jeune que B ; s'il est >, alors A est plus âgé que B.
- Si S_{\mathrm{AC}} est <, alors A est plus jeune que C ; s'il est >, alors A est plus âgé que C.
- Si S_{\mathrm{BC}} est <, alors B est plus jeune que C ; s'il est >, alors B est plus âgé que C.

Qui est le frère du milieu, c'est-à-dire le deuxième plus âgé parmi les trois ?

Entrée

L'entrée est donnée à partir de l'entrée standard dans le format suivant :
S_{\mathrm{AB}} S_{\mathrm{AC}} S_{\mathrm{BC}}

Sortie

Affichez le nom du frère du milieu, c'est-à-dire le deuxième plus âgé parmi les trois.

Contraintes

- Chacun des S_{\mathrm{AB}}, S_{\mathrm{AC}}, S_{\mathrm{BC}} est < or >.
- L'entrée ne contient pas de contradictions ; c'est-à-dire qu'il existe toujours une relation d'âge qui satisfait toutes les inégalités données.

Exemple d'entrée 1

< < <

Exemple de sortie 1

B

Puisque A est plus jeune que B, et B est plus jeune que C, nous pouvons déterminer que C est le plus âgé, B est le milieu, et A est le plus jeune. Par conséquent, la réponse est B.

Exemple d'entrée 2

< < >

Exemple de sortie 2

C

Il y a trois frères nommés A, B et C. Les relations d'âge entre eux sont données par trois caractères S_{\mathrm{AB}}, S_{\mathrm{AC}}, S_{\mathrm{BC}}, qui signifient ce qui suit :

- Si S_{\mathrm{AB}} est <, alors A est plus jeune que B ; s'il est >, alors A est plus vieux que B.
- Si S_{\mathrm{AC}} est <, alors A est plus jeune que C ; s'il est >, alors A est plus vieux que C.
- Si S_{\mathrm{BC}} est <, alors B est plus jeune que C ; s'il est >, alors B est plus vieux que C.

Qui est le frère du milieu, c'est-à-dire le deuxième plus âgé des trois ?

Entrée

L'entrée est donnée à partir de l'entrée standard au format suivant :
S_{\mathrm{AB}} S_{\mathrm{AC}} S_{\mathrm{BC}}

Sortie

Affichez le nom du frère du milieu, c'est-à-dire le deuxième plus âgé des trois.

Contraintes

- Chacun des éléments S_{\mathrm{AB}}, S_{\mathrm{AC}}, S_{\mathrm{BC}} est < ou >.
- L'entrée ne contient aucune contradiction ; c'est-à-dire qu'il existe toujours une relation d'âge qui satisfait toutes les inégalités données.

Exemple d'entrée 1

< < <

Exemple de sortie 1

B

Puisque A est plus jeune que B et que B est plus jeune que C, nous pouvons déterminer que C est le plus âgé, B est le milieu et A est le plus jeune. Par conséquent, la réponse est B.

Exemple d'entrée 2

< < >

Exemple de sortie 2

C


Il existe un graphe non orienté avec N sommets et 0 arêtes. Les sommets sont numérotés de 1 à N.
Vous disposez de Q requêtes à traiter dans l'ordre. Chaque requête est de l'un des deux types suivants :

- Type 1 : Donné au format 1 u v. Ajouter une arête entre les sommets u et v.
- Type 2 : Donné au format 2 v k. Affichez le k-ième plus grand numéro de sommet parmi les sommets connectés au sommet v. S'il y a moins de k sommets connectés à v, affichez -1.

Entrée

L'entrée est donnée à partir de l'entrée standard au format suivant :
N Q
\mathrm{query}_1
\mathrm{query}_2
\vdots
\mathrm{query}_Q

Ici, \mathrm{query}_i est la i-ème requête et est donnée dans l'un des formats suivants :
1 u v

2 v k

Sortie

Soit q le nombre de requêtes de type 2. Imprimez q lignes.
La i-ème ligne doit contenir la réponse à la i-ème requête de type 2.

Contraintes

- 1 \leq N, Q \leq 2 \times 10^5
- Dans une requête de type 1, 1 \leq u < v \leq N.
- Dans une requête de type 2, 1 \leq v \leq N, 1 \leq k \leq 10.
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

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

Exemple de sortie 1

2
1
-1
4
2
-1

- Dans la première requête, une arête est ajoutée entre les sommets 1 et 2.
- Dans la deuxième requête, deux sommets sont connectés au sommet 1 : 1 et 2. Parmi eux, le 1er plus grand numéro de sommet est 2, ce qui doit être imprimé.
- Dans la troisième requête, deux sommets sont connectés au sommet 1 : 1 et 2. Parmi eux, le 2e plus grand numéro de sommet est 1, ce qui doit être imprimé.
- Dans la quatrième requête, deux sommets sont connectés au sommet 1 : 1 et 2, qui est inférieur à 3, donc imprimez -1.
- Dans la cinquième requête, une arête est ajoutée entre les sommets 1 et 3.
- Dans la sixième requête, une arête est ajoutée entre les sommets 2 et 3.
- Dans la septième requête, une arête est ajoutée entre les sommets 3 et 4.
- Dans la huitième requête, quatre sommets sont connectés au sommet 1 : 1,2,3,4. Parmi eux, le 1er plus grand numéro de sommet est 4, qui doit être imprimé.
- Dans la neuvième requête, quatre sommets sont connectés au sommet 1 : 1,2,3,4. Parmi eux, le 3e plus grand numéro de sommet est 2, qui doit être imprimé.
- Dans la dixième requête, quatre sommets sont connectés au sommet 1 : 1,2,3,4, qui est inférieur à 5, donc imprimez -1.

Exemple d'entrée 2

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

Exemple de sortie 2

1
5
-1
3
6
2
5
-1
5
3
6
4
4

Il y a un graphe non dirigé avec N sommets et 0 arêtes. Les sommets sont numérotés de 1 à N. Vous avez Q requêtes à traiter dans l'ordre. Chaque requête est de l'un des deux types suivants :

- Type 1 : Donné au format 1 u v. Ajoutez une arête entre les sommets u et v.
- Type 2 : Donné au format 2 v k. Imprimez le k-ième plus grand numéro de sommet parmi les sommets connectés au sommet v. S'il y a moins de k sommets connectés à v, imprimez -1.

Entrée

L'entrée est donnée à partir de l'entrée standard au format suivant :
N Q
\mathrm{requête}_1
\mathrm{requête}_2
\vdots
\mathrm{requête}_Q

Ici, \mathrm{requête}_i est la i-ème requête et est donnée dans l'un des formats suivants :
1 u v

2 v k

Sortie

Soit q le nombre de requêtes de Type 2. Imprimez q lignes.
La i-ème ligne doit contenir la réponse à la i-ème requête de Type 2.

Contraintes

- 1 \leq N, Q \leq 2 \times 10^5
- Dans une requête de Type 1, 1 \leq u < v \leq N.
- Dans une requête de Type 2, 1 \leq v \leq N, 1 \leq k \leq 10.
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

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

Exemple de sortie 1

2
1
-1
4
2
-1

- Dans la première requête, une arête est ajoutée entre les sommets 1 et 2.
- Dans la deuxième requête, deux sommets sont connectés au sommet 1 : 1 et 2. Parmi eux, le 1er plus grand numéro de sommet est 2, qui doit être imprimé.
- Dans la troisième requête, deux sommets sont connectés au sommet 1 : 1 et 2. Parmi eux, le 2ème plus grand numéro de sommet est 1, qui doit être imprimé.
- Dans la quatrième requête, deux sommets sont connectés au sommet 1 : 1 et 2, ce qui est moins de 3, donc imprimez -1.
- Dans la cinquième requête, une arête est ajoutée entre les sommets 1 et 3.
- Dans la sixième requête, une arête est ajoutée entre les sommets 2 et 3.
- Dans la septième requête, une arête est ajoutée entre les sommets 3 et 4.
- Dans la huitième requête, quatre sommets sont connectés au sommet 1: 1,2,3,4. Parmi eux, le 1er plus grand numéro de sommet est 4, qui doit être imprimé.
- Dans la neuvième requête, quatre sommets sont connectés au sommet 1 : 1,2,3,4. Parmi eux, le 3ème plus grand numéro de sommet est 2, qui doit être imprimé.
- Dans la dixième requête, quatre sommets sont connectés au sommet 1 : 1,2,3,4, ce qui est moins de 5, donc imprimez -1.

Exemple d'entrée 2

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

Exemple de sortie 2

1
5
-1
3
6
2
5
-1
5
3
6
4
4

Il y a un graphe non dirigé avec N sommets et 0 arêtes. Les sommets sont numérotés de 1 à N.
Vous avez Q requêtes à traiter dans l'ordre. Chaque requête est de l'un des deux types suivants :

- Type 1 : Donné au format 1 u v. Ajoutez une arête entre les sommets u et v.
- Type 2 : Donné au format 2 v k. Affichez le k-ième plus grand numéro de sommet parmi les sommets connectés au sommet v. S'il y a moins de k sommets connectés à v, affichez -1.

Entrée

L'entrée est donnée à partir de l'entrée standard au format suivant :
N Q
\mathrm{requête}_1
\mathrm{requête}_2
\vdots
\mathrm{requête}_Q

Ici, \mathrm{requête}_i est la i-ème requête et est donnée dans l'un des formats suivants :
1 u v

2 v k

Sortie

Soit q le nombre de requêtes de Type 2. Affichez q lignes.
La i-ème ligne doit contenir la réponse à la i-ème requête de Type 2.

Contraintes

- 1 \leq N, Q \leq 2 \times 10^5
- Dans une requête de Type 1, 1 \leq u < v \leq N.
- Dans une requête de Type 2, 1 \leq v \leq N, 1 \leq k \leq 10.
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

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

Exemple de sortie 1

2
1
-1
4
2
-1

- Dans la première requête, une arête est ajoutée entre les sommets 1 et 2.
- Dans la deuxième requête, deux sommets sont connectés au sommet 1 : 1 et 2. Parmi eux, le 1er plus grand numéro de sommet est 2, qui doit être affiché.
- Dans la troisième requête, deux sommets sont connectés au sommet 1 : 1 et 2. Parmi eux, le 2ème plus grand numéro de sommet est 1, qui doit être affiché.
- Dans la quatrième requête, deux sommets sont connectés au sommet 1 : 1 et 2, ce qui est moins de 3, donc affichez -1.
- Dans la cinquième requête, une arête est ajoutée entre les sommets 1 et 3.
- Dans la sixième requête, une arête est ajoutée entre les sommets 2 et 3.
- Dans la septième requête, une arête est ajoutée entre les sommets 3 et 4.
- Dans la huitième requête, quatre sommets sont connectés au sommet 1: 1,2,3,4. Parmi eux, le 1er plus grand numéro de sommet est 4, qui doit être affiché.
- Dans la neuvième requête, quatre sommets sont connectés au sommet 1 : 1,2,3,4. Parmi eux, le 3ème plus grand numéro de sommet est 2, qui doit être affiché.
- Dans la dixième requête, quatre sommets sont connectés au sommet 1 : 1,2,3,4, ce qui est moins de 5, donc affichez -1.

Exemple d'entrée 2

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

Exemple de sortie 2

1
5
-1
3
6
2
5
-1
5
3
6
4
4


On a une chaîne S de longueur N. On a également Q requêtes, qui doivent être traitées dans l'ordre.
La i-ème requête est la suivante :

- Étant donné un entier X_i et un caractère C_i, remplacez le X_i-ème caractère de S par C_i. Ensuite, affichez le nombre de fois que la chaîne ABC apparaît comme sous-chaîne dans S.

Ici, une sous-chaîne de S est une chaîne obtenue en supprimant zéro ou plusieurs caractères du début et zéro ou plusieurs caractères de la fin de S.
Par exemple, ab est une sous-chaîne de abc, mais ac n'est pas une sous-chaîne de abc.

Entrée

L'entrée est donnée à partir de l'entrée standard dans le format suivant :
N Q
S
X_1 C_1
X_2 C_2
\vdots
X_Q C_Q

Sortie

Affichez Q lignes.
La i-ème ligne (1 \le i \le Q) doit contenir la réponse à la i-ème requête.

Contraintes

- 3 \le N \le 2 \times 10^5
- 1 \le Q \le 2 \times 10^5
- S est une chaîne de longueur N composée de lettres majuscules anglaises.
- 1 \le X_i \le N
- C_i est une lettre majuscule anglaise.

Exemple d'entrée 1

7 4
ABCDABC
4 B
3 A
5 C
4 G

Exemple de sortie 1

2
1
1
0

Après avoir traité chaque requête, S devient comme suit.

- Après la première requête : S= ABCBABC. Dans cette chaîne, ABC apparaît deux fois en tant que sous-chaîne.
- Après la deuxième requête : S= ABABABC. Dans cette chaîne, ABC apparaît une fois en tant que sous-chaîne.
- Après la troisième requête : S= ABABCBC. Dans cette chaîne, ABC apparaît une fois en tant que sous-chaîne.
- Après la quatrième requête : S= ABAGCBC. Dans cette chaîne, ABC n'apparaît zéro fois en tant que sous-chaîne.

Exemple d'entrée 2

3 3
ABC
1 A
2 B
3 C

Exemple de sortie 2

1
1
1

Il existe des cas où S ne change pas suite au traitement d'une requête.

Exemple d'entrée 3

15 10
BBCCBCACCBACACA
9 C
11 B
5 B
11 B
4 A
8 C
8 B
5 B
7 B
14 B

Exemple de sortie 3

0
0
0
0
1
1
2
2
1
1

On vous donne une chaîne S de longueur N. On vous donne également des requêtes Q, que vous devez traiter dans l'ordre.
La i-ème requête est la suivante :

- Étant donné un entier X_i et un caractère C_i, remplacez le X_i-ème caractère de S par C_i. Ensuite, imprimez le nombre de fois que la chaîne ABC apparaît comme sous-chaîne dans S.

Ici, une sous-chaîne de S est une chaîne obtenue en supprimant zéro ou plusieurs caractères du début et zéro ou plusieurs caractères de la fin de S.
Par exemple, ab est une sous-chaîne de abc, mais ac n'est pas une sous-chaîne de abc.

Entrée

L'entrée est donnée à partir de l'entrée standard au format suivant :
N Q
S
X_1 C_1
X_2 C_2
\vdots
X_Q C_Q

Sortie

Imprimez Q lignes.
La i-ème ligne (1 \le i \le Q) doit contenir la réponse à la i-ème requête.

Contraintes

- 3 \le N \le 2 \times 10^5
- 1 \le Q \le 2 \times 10^5
- S est une chaîne de longueur N composée de lettres anglaises majuscules.
- 1 \le X_i \le N
- C_i est une lettre anglaise majuscule.

Exemple d'entrée 1

7 4
ABCDABC
4 B
3 A
5 C
4 G

Exemple de sortie 1

2
1
1
0

Après le traitement de chaque requête, S devient comme suit.

- Après la première requête : S= ABCBABC. Dans cette chaîne, ABC apparaît deux fois comme sous-chaîne.
- Après la deuxième requête : S= ABABABC. Dans cette chaîne, ABC apparaît une fois comme sous-chaîne.
- Après la troisième requête : S= ABABCBC. Dans cette chaîne, ABC apparaît une fois comme sous-chaîne.
- Après la quatrième requête : S= ABAGCBC. Dans cette chaîne, ABC apparaît zéro fois comme sous-chaîne.

Exemple d'entrée 2

3 3
ABC
1 A
2 B
3 C

Exemple de sortie 2

1
1
1

Il existe des cas où S ne change pas lors du traitement d'une requête.

Exemple d'entrée 3

15 10
BBCCBCACCBACACA
9 C
11 B
5 B
11 B
4 A
8 C
8 B
5 B
7 B
14 B

Exemple de sortie 3

0
0
0
0
1
1
2
2
1
1

On vous donne une chaîne S de longueur N. Vous avez également Q requêtes, que vous devez traiter dans l'ordre.
La i-ème requête est la suivante :

- Étant donné un entier X_i et un caractère C_i, remplacez le X_i-ème caractère de S par C_i. Ensuite, imprimez le nombre de fois que la chaîne ABC apparaît comme sous-chaîne dans S.

Ici, une sous-chaîne de S est une chaîne obtenue en supprimant zéro ou plusieurs caractères du début et zéro ou plusieurs caractères de la fin de S.
Par exemple, ab est une sous-chaîne de abc, mais ac n'est pas une sous-chaîne de abc.

Entrée

L'entrée est donnée à partir de l'entrée standard dans le format suivant :
N Q
S
X_1 C_1
X_2 C_2
\vdots
X_Q C_Q

Sortie

Imprimez Q lignes.
La i-ème ligne (1 \le i \le Q) doit contenir la réponse à la i-ème requête.

Contraintes

- 3 \le N \le 2 \times 10^5
- 1 \le Q \le 2 \times 10^5
- S est une chaîne de longueur N composée de lettres majuscules anglaises.
- 1 \le X_i \le N
- C_i est une lettre majuscule anglaise.

Exemple d'entrée 1

7 4
ABCDABC
4 B
3 A
5 C
4 G

Exemple de sortie 1

2
1
1
0

Après avoir traité chaque requête, S devient comme suit.

- Après la première requête : S= ABCBABC. Dans cette chaîne, ABC apparaît deux fois en tant que sous-chaîne.
- Après la deuxième requête : S= ABABABC. Dans cette chaîne, ABC apparaît une fois en tant que sous-chaîne.
- Après la troisième requête : S= ABABCBC. Dans cette chaîne, ABC apparaît une fois en tant que sous-chaîne.
- Après la quatrième requête : S= ABAGCBC. Dans cette chaîne, ABC n'apparaît zéro fois en tant que sous-chaîne.

Exemple d'entrée 2

3 3
ABC
1 A
2 B
3 C

Exemple de sortie 2

1
1
1

Il existe des cas où S ne change pas suite au traitement d'une requête.

Exemple d'entrée 3

15 10
BBCCBCACCBACACA
9 C
11 B
5 B
11 B
4 A
8 C
8 B
5 B
7 B
14 B

Exemple de sortie 3

0
0
0
0
1
1
2
2
1
1


Il y a N bâtiments, Bâtiment 1, Bâtiment 2, \ldots, Bâtiment N, disposés en ligne dans cet ordre. La hauteur du Bâtiment i (1 \leq i \leq N) est H_i.
Pour chaque i = 1, 2, \ldots, N, trouvez le nombre d'entiers j (i < j \leq N) satisfaisant la condition suivante :

- Il n'y a pas de bâtiment plus haut que le Bâtiment j entre les Bâtiments i et j.

Entrée

L'entrée est donnée à partir de l'entrée standard dans le format suivant :
N
H_1 H_2 \ldots H_N

Sortie

Pour chaque i = 1, 2, \ldots, N, laissez c_i être le nombre de j satisfaisant la condition. Affichez c_1, c_2, \ldots, c_N dans l'ordre, séparés par des espaces.

Contraintes

- 1 \leq N \leq 2 \times 10^5
- 1 \leq H_i \leq N
-  H_i\neq H_j\ (i\neq j)
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

5
2 1 4 3 5

Exemple de sortie 1

3 2 2 1 0

Pour i=1, les entiers j satisfaisant la condition sont 2, 3 et 5 : il y en a trois. (Entre les Bâtiments 1 et 4, il y a un bâtiment plus haut que le Bâtiment 4, qui est le Bâtiment 3, donc j=4 ne satisfait pas la condition.) Par conséquent, le premier nombre dans la sortie est 3.

Exemple d'entrée 2

4
1 2 3 4

Exemple de sortie 2

3 2 1 0

Exemple d'entrée 3

10
1 9 6 5 2 7 10 4 8 3

Exemple de sortie 3

2 3 3 3 2 1 2 1 1 0

On considère N bâtiments, Bâtiment 1, Bâtiment 2, \ldots, Bâtiment N, disposés en ligne dans cet ordre. La hauteur du Bâtiment i (1 \leq i \leq N) est H_i.
Pour chaque i = 1, 2, \ldots, N, trouvez le nombre d'entiers j (i < j \leq N) satisfaisant la condition suivante :

- Il n'y a pas de bâtiment plus haut que le Bâtiment j entre les Bâtiments i et j.

Entrée

L'entrée est donnée à partir de l'entrée standard dans le format suivant :
N
H_1 H_2 \ldots H_N

Sortie

Pour chaque i = 1, 2, \ldots, N, soit c_i le nombre de j satisfaisant la condition. Affichez c_1, c_2, \ldots, c_N dans l'ordre, séparés par des espaces.

Contraintes

- 1 \leq N \leq 2 \times 10^5
- 1 \leq H_i \leq N
-  H_i\neq H_j\ (i\neq j)
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

5
2 1 4 3 5

Exemple de sortie 1

3 2 2 1 0

Pour i=1, les entiers j satisfaisant la condition sont 2, 3 et 5 : il y en a trois. (Entre les Bâtiments 1 et 4, il y a un bâtiment plus haut que le Bâtiment 4, le Bâtiment 3, donc j=4 ne satisfait pas la condition.) Par conséquent, le premier nombre dans la sortie est 3.

Exemple d'entrée 2

4
1 2 3 4

Exemple de sortie 2

3 2 1 0

Exemple d'entrée 3

10
1 9 6 5 2 7 10 4 8 3

Exemple de sortie 3

2 3 3 3 2 1 2 1 1 0

Il y a N bâtiments, Bâtiment 1, Bâtiment 2, \ldots, Bâtiment N, disposés en ligne dans cet ordre. La hauteur du bâtiment i (1 \leq i \leq N) est H_i.
Pour chaque i = 1, 2, \ldots, N, trouvez le nombre d'entiers j (i < j \leq N) satisfaisant la condition suivante :

- Il n'y a pas de bâtiment plus haut que le bâtiment j entre les bâtiments i et j.

Entrée

L'entrée est donnée à partir de l'entrée standard au format suivant :
N
H_1 H_2 \ldots H_N

Sortie

Pour chaque i = 1, 2, \ldots, N, soit c_i le nombre de j satisfaisant la condition. Imprimez c_1, c_2, \ldots, c_N dans l'ordre, séparés par des espaces.

Contraintes

- 1 \leq N \leq 2 \times 10^5
- 1 \leq H_i \leq N
- H_i\neq H_j\ (i\neq j)
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

5
2 1 4 3 5

Exemple de sortie 1

3 2 2 1 0

Pour i=1, les entiers j satisfaisant la condition sont 2, 3 et 5 : il y en a trois. (Entre les bâtiments 1 et 4, il y a un bâtiment plus haut que le bâtiment 4, qui est le bâtiment 3, donc j=4 ne satisfait pas la condition.) Par conséquent, le premier nombre dans la sortie est 3.

Exemple d'entrée 2

4
1 2 3 4

Exemple de sortie 2

3 2 1 0

Exemple d'entrée 3

10
1 9 6 5 2 7 10 4 8 3

Exemple de sortie 3

2 3 3 3 2 1 2 1 1 0


Vous disposez de trois séquences de longueur N de nombres entiers positifs : A=(A_1,A_2,\ldots,A_N), B=(B_1,B_2,\ldots,B_N), et C=(C_1,C_2,\ldots,C_N).
Trouvez le nombre de paires de nombres entiers positifs (x, y) qui satisfont la condition suivante :

- A_i \times x + B_i \times y < C_i pour tout 1 \leq i \leq N.

On peut prouver que le nombre de telles paires de nombres entiers satisfaisant la condition est fini.
Vous disposez de T cas de test, que vous devez résoudre.

Entrée

L'entrée est donnée à partir de l'entrée standard selon le format suivant. Ici, \mathrm{case}_i fait référence au i-ème cas de test.
T
\mathrm{case}_1
\mathrm{case}_2
\vdots
\mathrm{case}_T

Chaque cas de test est donné selon le format suivant :
N
A_1 B_1 C_1
A_2 B_2 C_2
\vdots
A_N B_N C_N

Sortie

Affichez T lignes. La i-ème ligne (1 \leq i \leq T) doit contenir la réponse pour \mathrm{case}_i.

Contraintes

- 1 \leq T \leq 2 \times 10^5
- 1 \leq N \leq 2 \times 10^5
- 1 \leq A_i, B_i, C_i \leq 10^9
- La somme de N sur tous les cas de test est au plus 2 \times 10^5.
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

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

Exemple de sortie 1

2
0

Dans le premier cas de test, il y a deux paires valides de nombres entiers : (x, y) = (1, 1), (2,1). Ainsi, la première ligne doit contenir 2.
Dans le second cas de test, il n'y a pas de paires valides de nombres entiers. Ainsi, la deuxième ligne doit contenir 0.

Exemple d'entrée 2

3
7
138 16011 918976
5478 7748 499926
5234 17727 748589
1157 10511 643136
31200 3005 721285
28839 14469 798851
1933 5378 864127
9
17775 1665 386430
37001 863 922418
9756 4182 746671
12379 9106 807578
3984 4049 640539
25333 9869 780810
20372 7000 688738
16107 11974 827227
10779 10531 770510
5
4916 14132 460944
11856 45422 610561
56014 18216 825793
10363 6220 945356
37418 33866 851593

Exemple de sortie 2

660
995
140

On vous donne trois séquences de longueur N d'entiers positifs : A=(A_1,A_2,\ldots,A_N), B=(B_1,B_2,\ldots,B_N), et C=(C_1,C_2,\ldots,C_N).
Trouver le nombre de paires d'entiers positifs (x, y) qui satisfont la condition suivante :

- A_i fois x + B_i fois y < C_i pour tout 1 \leq i \leq N.

On peut prouver que le nombre de ces paires d'entiers positifs satisfaisant à la condition est fini.
On vous donne T cas de test, chacun d'entre eux devant être résolu.

Entrée

L'entrée est fournie par l'entrée standard dans le format suivant. Ici, \mathrm{case}_i fait référence au i-ième cas de test.
T
\mathrm{cas}_1
\mathrm{case}_2
\vdots
\mathrm{case}_T

Chaque cas de test est présenté dans le format suivant :
N
A_1 B_1 C_1
A_2 B_2 C_2
\vdots
A_N B_N C_N

Sortie

Imprimer T lignes. La i-ième ligne (1 \leq i \leq T) doit contenir la réponse pour \mathrm{case}_i.

Contraintes

- 1 \leq T \leq 2 \times 10^5
- 1 \leq N \leq 2 \times 10^5
- 1 \leq A_i, B_i, C_i \leq 10^9
- La somme de N sur tous les cas de test est au plus égale à 2 \times 10^5.
- Toutes les valeurs d'entrée sont des nombres entiers.

Exemple d'entrée 1

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

Exemple de sortie 1

2
0

Dans le premier cas de test, il existe deux paires d'entiers valides : (x, y) = (1, 1), (2,1). La première ligne doit donc contenir 2.
Dans le deuxième cas, il n'y a pas de paires d'entiers valides. La deuxième ligne doit donc contenir 0.

Exemple d'entrée 2

3
7
138 16011 918976
5478 7748 499926
5234 17727 748589
1157 10511 643136
31200 3005 721285
28839 14469 798851
1933 5378 864127
9
17775 1665 386430
37001 863 922418
9756 4182 746671
12379 9106 807578
3984 4049 640539
25333 9869 780810
20372 7000 688738
16107 11974 827227
10779 10531 770510
5
4916 14132 460944
11856 45422 610561
56014 18216 825793
10363 6220 945356
37418 33866 851593

Exemple de sortie 2

660
995
140

Vous disposez de trois séquences de longueur N de nombres entiers positifs : A=(A_1,A_2,\ldots,A_N), B=(B_1,B_2,\ldots,B_N), et C=(C_1,C_2,\ldots,C_N).
Trouvez le nombre de paires de nombres entiers positifs (x, y) qui satisfont la condition suivante :

- A_i \times x + B_i \times y < C_i pour tout 1 \leq i \leq N.

On peut prouver que le nombre de telles paires de nombres entiers satisfaisant la condition est fini.
Vous disposez de T cas de test, que vous devez résoudre.

Entrée

L'entrée est donnée à partir de l'entrée standard selon le format suivant. Ici, \mathrm{case}_i fait référence au i-ème cas de test.
T.
\mathrm{case}_1
\mathrm{case}_2
\vdots
\mathrm{case}_T

Chaque cas de test est donné selon le format suivant :
N
A_1 B_1 C_1
A_2 B_2 C_2
\vdots
A_N B_N C_N

Sortie

Affichez T lignes. La i-ème ligne (1 \leq i \leq T) doit contenir la réponse pour \mathrm{case}_i.

Contraintes

- 1 \leq T \leq 2 \times 10^5
- 1 \leq N \leq 2 \times 10^5
- 1 \leq A_i, B_i, C_i \leq 10^9
- La somme de N sur tous les cas de test est au plus 2 \times 10^5.
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

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

Exemple de sortie 1

2
0

Dans le premier cas de test, il y a deux paires valides de nombres entiers : (x, y) = (1, 1), (2,1). Ainsi, la première ligne doit contenir 2.
Dans le second cas de test, il n'y a pas de paires valides de nombres entiers. Ainsi, la deuxième ligne doit contenir 0.

Exemple d'entrée 2

3
7
138 16011 918976
5478 7748 499926
5234 17727 748589
1157 10511 643136
31200 3005 721285
28839 14469 798851
1933 5378 864127
9
17775 1665 386430
37001 863 922418
9756 4182 746671
12379 9106 807578
3984 4049 640539
25333 9869 780810
20372 7000 688738
16107 11974 827227
10779 10531 770510
5
4916 14132 460944
11856 45422 610561
56014 18216 825793
10363 6220 945356
37418 33866 851593

Exemple de sortie 2

660
995
140


Il y a un graphe orienté simple G avec N sommets et N+M arêtes. Les sommets sont numérotés de 1 à N, et les arêtes sont numérotées de 1 à N+M.
L'arête i (1 \leq i \leq N) va du sommet i au sommet i+1. (Ici, le sommet N+1 est considéré comme sommet 1.)
L'arête N+i (1 \leq i \leq M) va du sommet X_i au sommet Y_i.
Takahashi est au sommet 1. À chaque sommet, il peut se déplacer vers n'importe quel sommet vers lequel il y a une arête sortante depuis le sommet actuel.
Calculez le nombre de façons dont il peut se déplacer exactement K fois.
C'est-à-dire, trouvez le nombre de séquences entières (v_0, v_1, \dots, v_K) de longueur K+1 satisfaisant toutes les trois conditions suivantes :

- 1 \leq v_i \leq N pour i = 0, 1, \dots, K.
- v_0 = 1.
- Il existe une arête orientée du sommet v_{i-1} au sommet v_i pour i = 1, 2, \ldots, K.

Puisque ce nombre peut être très grand, affichez-le modulo 998244353.

Entrée

L'entrée est donnée depuis l'entrée standard au format suivant :
N M K
X_1 Y_1
X_2 Y_2
\vdots
X_M Y_M

Sortie

Imprimez le résultat modulo 998244353.

Contraintes

- 2 \leq N \leq 2 \times 10^5
- 0 \leq M \leq 50
- 1 \leq K \leq 2 \times 10^5
- 1 \leq X_i, Y_i \leq N, X_i \neq Y_i
- Toutes les N+M arêtes orientées sont distinctes.
- Toutes les valeurs d'entrée sont entières.

Exemple d'entrée 1

6 2 5
1 4
2 5

Exemple de sortie 1

5

La figure ci-dessus représente le graphe G. Il y a cinq façons pour Takahashi de se déplacer :

- Sommet 1 \to Sommet 2 \to Sommet 3 \to Sommet 4 \to Sommet 5 \to Sommet 6
- Sommet 1 \to Sommet 2 \to Sommet 5 \to Sommet 6 \to Sommet 1 \to Sommet 2
- Sommet 1 \to Sommet 2 \to Sommet 5 \to Sommet 6 \to Sommet 1 \to Sommet 4
- Sommet 1 \to Sommet 4 \to Sommet 5 \to Sommet 6 \to Sommet 1 \to Sommet 2
- Sommet 1 \to Sommet 4 \to Sommet 5 \to Sommet 6 \to Sommet 1 \to Sommet 4

Exemple d'entrée 2

10 0 200000

Exemple de sortie 2

1

Exemple d'entrée 3

199 10 1326
122 39
142 49
164 119
197 127
188 145
69 80
6 120
24 160
18 154
185 27

Exemple de sortie 3

451022766

Il y a un graphique dirigé simple G avecN sommets et N+M arêtes. Les sommets sont numérotés de 1 à N et les arêtes de 1 à N+M.
L'arête i (1 \leq i \leq N) va du sommet i au sommet i+1. (Ici, le sommet N+1 est considéré comme le sommet 1).
L'arête N+i (1 \leq i \leq M) va du sommet X_i au sommet Y_i.
Takahashi se trouve au sommet 1. À chaque sommet, il peut se déplacer vers n'importe quel sommet vers lequel il existe une arête sortante depuis le sommet actuel.
Calculez le nombre de façons dont il peut se déplacer exactement K fois.
Autrement dit, trouver le nombre de séquences entières (v_0, v_1, \dots, v_K) de longueur K+1 satisfaisant aux trois conditions suivantes :

- 1 \leq v_i \leq N pour i = 0, 1, \dots, K.
- v_0 = 1.
- Il existe une arête dirigée entre le sommet v_{i-1} et le sommet v_i pour i = 1, 2, \ldots, K.

Comme ce nombre peut être très grand, imprimez-le modulo 998244353.

Entrée

L'entrée est fournie par l'entrée standard dans le format suivant :
N M K
X_1 Y_1
X_2 Y_2
\vdots
X_M Y_M

Sortir

Imprimez le Count Modulo 998244353.

Contraintes

- 2 \leq N \leq 2 \times 10^5
- 0 \leq M \leq 50
- 1 \leq K \leq 2 \times 10^5
- 1 \leq X_i, Y_i \leq N, X_i \neq Y_i
- Tous les bords dirigés N + M sont distincts.
- Toutes les valeurs d'entrée sont des entiers.

Échantillon d'entrée 1

6 2 5
1 4
2 5

Échantillon de sortie 1

5

La figure ci-dessus représente le graphique G. Il existe cinq façons pour Takahashi de déplacer:

- sommet 1 \ au sommet 2 \ au sommet 3 \ au sommet 4 \ au sommet 5 \ au sommet 6
- sommet 1 \ au sommet 2 \ au sommet 5 \ au sommet 6 \ au sommet 1 \ au sommet 2
- sommet 1 \ au sommet 2 \ au sommet 5 \ au sommet 6 \ au sommet 1 \ au sommet 4
- sommet 1 \ au sommet 4 \ au sommet 5 \ vers le sommet 6 \ au sommet 1 \ au sommet 2
- sommet 1 \ au sommet 4 \ au sommet 5 \ au sommet 6 \ au sommet 1 \ au sommet 4

Échantillon d'entrée 2

10 0 200000

Échantillon de sortie 2

1

Exemple d'entrée 3

199 10 1326
122 39
142 49
164 119
197 127
188 145
69 80
6 120
24 160
18 154
185 27

Exemple de sortie 3

451022766

On considère un graphe orienté simple G avec N sommets et N+M arêtes. Les sommets sont numérotés de 1 à N, et les arêtes sont numérotées de 1 à N+M.
L'arête i (1 \leq i \leq N) va du sommet i au sommet i+1. (Ici, le sommet N+1 est considéré comme sommet 1.)
L'arête N+i (1 \leq i \leq M) va du sommet X_i au sommet Y_i.
Takahashi se trouve au sommet 1. À chaque sommet, il peut se déplacer vers n'importe quel sommet vers lequel il y a une arête sortante depuis le sommet actuel.
Calculez le nombre de façons dont il peut se déplacer exactement K fois.
C'est-à-dire, trouvez le nombre de séquences entières (v_0, v_1, \dots, v_K) de longueur K+1 satisfaisant les trois conditions suivantes :

- 1 \leq v_i \leq N pour i = 0, 1, \dots, K.
- v_0 = 1.
- Il existe une arête orientée du sommet v_{i-1} au sommet v_i pour i = 1, 2, \ldots, K.

Puisque ce nombre peut être très grand, affichez-le modulo 998244353.

Entrée

L'entrée est donnée depuis l'entrée standard au format suivant :
N M K
X_1 Y_1
X_2 Y_2
\vdots
X_M Y_M

Sortie

Affichez le résultat modulo 998244353.

Contraintes

- 2 \leq N \leq 2 \times 10^5
- 0 \leq M \leq 50
- 1 \leq K \leq 2 \times 10^5
- 1 \leq X_i, Y_i \leq N, X_i \neq Y_i
- Toutes les N+M arêtes orientées sont distinctes.
- Toutes les valeurs d'entrée sont entières.

Exemple d'entrée 1

6 2 5
1 4
2 5

Exemple de sortie 1

5

La figure ci-dessus représente le graphe G. Il y a cinq façons pour Takahashi de se déplacer :

- Sommet 1 \to Sommet 2 \to Sommet 3 \to Sommet 4 \to Sommet 5 \to Sommet 6
- Sommet 1 \to Sommet 2 \to Sommet 5 \to Sommet 6 \to Sommet 1 \to Sommet 2
- Sommet 1 \to Sommet 2 \to Sommet 5 \to Sommet 6 \to Sommet 1 \to Sommet 4
- Sommet 1 \to Sommet 4 \to Sommet 5 \to Sommet 6 \to Sommet 1 \to Sommet 2
- Sommet 1 \to Sommet 4 \to Sommet 5 \to Sommet 6 \to Sommet 1 \to Sommet 4

Exemple d'entrée 2

10 0 200000

Exemple de sortie 2

1

Exemple d'entrée 3

199 10 1326
122 39
142 49
164 119
197 127
188 145
69 80
6 120
24 160
18 154
185 27

Exemple de sortie 3

451022766


On a une chaîne S composée de lettres minuscules anglaises et de ..
Trouvez la chaîne obtenue en supprimant tous les . de S.

Entrée

L'entrée est fournie à partir de l'entrée standard dans le format suivant :
S

Sortie

Affichez la chaîne obtenue en supprimant tous les . de S.

Contraintes

- S est une chaîne de longueur comprise entre 1 et 100, inclus, composée de lettres minuscules anglaises et de ..

Exemple d'entrée 1

.v.

Exemple de sortie 1

v

Supprimer tous les . de .v. donne v, donc affichez v.

Exemple d'entrée 2

chokudai

Exemple de sortie 2

chokudai

Il y a des cas où S ne contient pas de ..

Exemple d'entrée 3

...

Exemple de sortie 3

Il y a aussi des cas où tous les caractères dans S sont ..

Vous avez une chaîne S composée de lettres minuscules anglaises et ..
Trouvez la chaîne obtenue en supprimant tous les . de S.

Entrée

L'entrée est fournie à partir de l'entrée standard dans le format suivant :
S

Sortie

Affichez la chaîne obtenue en supprimant tous les . de S.

Contraintes

- S est une chaîne de longueur comprise entre 1 et 100, inclus, composée de lettres minuscules anglaises et ..

Exemple d'entrée 1

.v.

Exemple de sortie 1

v

Supprimer tous les . de .v. donne v, donc affichez v.

Exemple d'entrée 2

chokudai

Exemple de sortie 2

chokudai

Il y a des cas où S ne contient pas de ..

Exemple d'entrée 3

...

Exemple de sortie 3

Il y a aussi des cas où tous les caractères dans S sont ..

On vous donne une chaîne S composée de lettres anglaises minuscules et de ..
Trouvez la chaîne obtenue en supprimant tous les points de S.

Entrée

L’entrée est fournie à partir de l’entrée standard au format suivant :
S

Sortie

Imprime la chaîne obtenue en supprimant tous les fichiers . à partir de S.

Contraintes

- S est une chaîne de caractères d’une longueur comprise entre 1 et 100 inclus, composée de lettres anglaises minuscules et de ..

Exemple d’entrée 1

.v.

Sortie de l’échantillon 1

v

Suppression de tous les points de .v. donne v, donc imprimez v.

Exemple d’entrée 2

chokudai

Exemple de sortie 2

chokudai

Il y a des cas où S ne contient pas de points

Exemple d’entrée 3

...

Exemple de sortie 3

Il y a aussi des cas où tous les caractères de S sont des points.


Il y a 12 chaînes S_1, S_2, \ldots, S_{12} constituées de lettres minuscules anglaises.
Trouvez combien d'entiers i (1 \leq i \leq 12) satisfont la condition que la longueur de S_i est i.

Entrée

L'entrée est donnée à partir de l'entrée standard dans le format suivant :
S_1
S_2
\vdots
S_{12}

Sortie

Affichez le nombre d'entiers i (1 \leq i \leq 12) tels que la longueur de S_i est i.

Contraintes

- Chaque S_i est une chaîne de longueur comprise entre 1 et 100, incluse, constituée de lettres minuscules anglaises. (1 \leq i \leq 12)

Exemple d'entrée 1

january
february
march
april
may
june
july
august
september
october
november
december

Exemple de sortie 1

1

Il y a seulement un entier i tel que la longueur de S_i est i : 9. Ainsi, imprimez 1.

Exemple d'entrée 2

ve
inrtfa
npccxva
djiq
lmbkktngaovl
mlfiv
fmbvcmuxuwggfq
qgmtwxmb
jii
ts
bfxrvs
eqvy

Exemple de sortie 2

2

Il y a deux entiers i tels que la longueur de S_i est i : 4 et 8. Ainsi, imprimez 2.

Il y a 12 chaînes S_1, S_2, \ldots S_{12} composées de lettres minuscules anglaises.
Trouvez combien d’entiers i (1 \leq i \leq 12) satisfont que la longueur de S_i est i.

Entrée

L’entrée est fournie à partir de l’entrée standard au format suivant :
S_1
S_2
\vdots
S_{12}

Sortie

Imprimez le nombre d’entiers i (1 \leq i \leq 12) de sorte que la longueur de S_i soit i.

Contraintes

- Chaque S_i est une chaîne de caractères d’une longueur comprise entre 1 et 100 inclusivement, composée de lettres minuscules anglaises. (1 \leq i \leq 12)

Exemple d’entrée 1

january
february
march
april
may
june
july
august
september
october
november
december

Sortie de l’échantillon 1

1

Il n’y a qu’un seul entier i tel que la longueur de S_i soit i : 9. Ainsi, imprimez 1.

Exemple d’entrée 2

ve
inrtfa
npccxva
djiq
lmbkktngaovl
mlfiv
fmbvcmuxuwggfq
qgmtwxmb
jii
ts
bfxrvs
eqvy

Exemple de sortie 2

2

Il y a deux entiers i tels que la longueur de S_i est i : 4 et 8. Ainsi, l’impression 2.

On considère 12 chaînes S_1, S_2, \ldots, S_{12} constituées de lettres minuscules anglaises.
Trouvez combien d'entiers i (1 \leq i \leq 12) satisfont la condition telle que la longueur de S_i est i.

Entrée

L'entrée est donnée à partir de l'entrée standard dans le format suivant :
S_1
S_2
\vdots
S_{12}

Sortie

Affichez le nombre d'entiers i (1 \leq i \leq 12) tels que la longueur de S_i est i.

Contraintes

- Chaque S_i est une chaîne de longueur comprise entre 1 et 100, inclus, constituée de lettres minuscules anglaises. (1 \leq i \leq 12)

Exemple d'entrée 1

january
february
march
april
may
june
july
august
september
october
november
december

Exemple de sortie 1

1

Il y a seulement un entier i tel que la longueur de S_i est i : 9. Par conséquent, affichez 1.

Exemple d'entrée 2

ve
inrtfa
npccxva
djiq
lmbkktngaovl
mlfiv
fmbvcmuxuwggfq
qgmtwxmb
jii
ts
bfxrvs
eqvy

Exemple de sortie 2

2

Il y a deux entiers i tels que la longueur de S_i est i : 4 et 8. Par conséquent, affichez 2.


Il y a un clavier avec 26 touches disposées sur une ligne.
La disposition de ce clavier est représentée par une chaîne S, qui est une permutation de ABCDEFGHIJKLMNOPQRSTUVWXYZ.
La touche correspondant au caractère S_x est située à la coordonnée x (1 \leq x \leq 26). Ici, S_x désigne le x-ième caractère de S.
Vous utiliserez ce clavier pour taper ABCDEFGHIJKLMNOPQRSTUVWXYZ dans cet ordre, en tapant chaque lettre exactement une fois avec votre index droit.
Pour entrer un caractère, vous devez déplacer votre doigt à la coordonnée de la touche correspondant à ce caractère et appuyer sur la touche.
Initialement, votre doigt est à la coordonnée de la touche correspondant à A. Trouvez la distance totale minimale possible parcourue par votre doigt depuis l'appui sur la touche pour A jusqu'à l'appui sur la touche pour Z. Ici, appuyer sur une touche ne contribue pas à la distance.

Entrée

L'entrée est donnée depuis l'entrée standard dans le format suivant :
S

Sortie

Affichez la réponse.

Contraintes

- S est une permutation de ABCDEFGHIJKLMNOPQRSTUVWXYZ.

Exemple d'entrée 1

ABCDEFGHIJKLMNOPQRSTUVWXYZ

Exemple de sortie 1

25

Depuis l'appui sur la touche pour A jusqu'à l'appui sur la touche pour Z, vous devez déplacer votre doigt de 1 unité à la fois dans la direction positive, ce qui donne une distance totale parcourue de 25. Il est impossible d'appuyer sur toutes les touches avec une distance totale parcourue inférieure à 25, donc affichez 25.

Exemple d'entrée 2

MGJYIZDKSBHPVENFLQURTCWOAX

Exemple de sortie 2

223

Il y a un clavier avec 26 touches disposées sur une ligne de nombre.
La disposition de ce clavier est représentée par une chaîne S, qui est une permutation de ABCDEFGHIJKLMNOPQRSTUVWXYZ.
La touche correspondant au caractère S_x est située à la coordonnée x (1 \leq x \leq 26). Ici, S_x désigne le x-ième caractère de S.
Vous utiliserez ce clavier pour taper ABCDEFGHIJKLMNOPQRSTUVWXYZ dans cet ordre, en tapant chaque lettre exactement une fois avec votre index droit.
Pour entrer un caractère, vous devez déplacer votre doigt à la coordonnée de la touche correspondant à ce caractère et appuyer sur la touche.
Initialement, votre doigt est à la coordonnée de la touche correspondant à A. Trouvez la distance totale minimale possible parcourue par votre doigt de l'appui sur la touche pour A à l'appui sur la touche pour Z. Ici, appuyer sur une touche ne contribue pas à la distance.

Entrée

L'entrée est donnée depuis l'entrée standard dans le format suivant :
S

Sortie

Affichez la réponse.

Contraintes

- S est une permutation de ABCDEFGHIJKLMNOPQRSTUVWXYZ.

Exemple d'entrée 1

ABCDEFGHIJKLMNOPQRSTUVWXYZ

Exemple de sortie 1

25

De l'appui sur la touche pour A à l'appui sur la touche pour Z, vous devez déplacer votre doigt de 1 unité à la fois dans la direction positive, ce qui donne une distance totale parcourue de 25. Il est impossible d'appuyer sur toutes les touches avec une distance totale parcourue inférieure à 25, donc affichez 25.

Exemple d'entrée 2

MGJYIZDKSBHPVENFLQURTCWOAX

Exemple de sortie 2

223

Il existe un clavier de 26 touches disposées sur une ligne numérique.
La disposition de ce clavier est représentée par une chaîne de caractères S, qui est une permutation de ABCDEFGHIJKLMNOPQRSTUVWXYZ.
La touche correspondant au caractère S_x est située à la coordonnée x (1 \leq x \leq 26). Ici, S_x désigne le xème caractère de S.
Vous utiliserez ce clavier pour saisir ABCDEFGHIJKLMNOPQRSTUVWXYZ dans cet ordre, en tapant chaque lettre exactement une fois avec votre index droit.
Pour saisir un caractère, vous devez déplacer votre doigt jusqu'à la coordonnée de la touche correspondant à ce caractère et appuyer sur la touche.
Initialement, votre doigt se trouve à la coordonnée de la touche correspondant à A. Trouvez la distance totale minimale parcourue par votre doigt entre le moment où vous appuyez sur la touche A et le moment où vous appuyez sur la touche Z. Ici, le fait d'appuyer sur une touche ne contribue pas à la distance.

Entrée

L'entrée est donnée à partir de l'entrée standard dans le format suivant :
S

Sortie

Imprimez la réponse.

Contraintes

- S est une permutation de ABCDEFGHIJKLMNOPQRSTUVWXYZ.

Exemple d'entrée 1

ABCDEFGHIJKLMNOPQRSTUVWXYZ

Exemple de sortie 1

25

De l'appui sur la touche A à l'appui sur la touche Z, vous devez déplacer votre doigt d'une unité à la fois dans la direction positive, ce qui donne une distance totale parcourue de 25. Il est impossible d'appuyer sur toutes les touches avec une distance totale parcourue inférieure à 25, donc imprimez 25.

Exemple d'entrée 2

MGJYIZDKSBHPVENFLQURTCWOAX

Exemple de sortie 2

223


On considère N types d'articles. Le i-ème type d'article a un poids de w_i et une valeur de v_i. Chaque type a 10^{10} articles disponibles.
Takahashi va choisir certains articles et les mettre dans un sac de capacité W. Il souhaite maximiser la valeur des articles sélectionnés tout en évitant de choisir trop d'articles du même type. Ainsi, il définit le bonheur de choisir k_i articles du type i comme k_i v_i - k_i^2. Il veut choisir des articles pour maximiser le bonheur total pour tous les types tout en maintenant le poids total au maximum W. Calculez le bonheur total maximal qu'il peut atteindre.

Entrée

L'entrée est donnée à partir de l'entrée standard dans le format suivant :
N W
w_1 v_1
w_2 v_2
\vdots
w_N v_N

Sortie

Affichez la réponse.

Contraintes

- 1 \leq N \leq 3000
- 1 \leq W \leq 3000
- 1 \leq w_i \leq W
- 1 \leq v_i \leq 10^9
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

2 10
3 4
3 2

Exemple de sortie 1

5

En choisissant 2 articles du type 1 et 1 article du type 2, le bonheur total peut être de 5, ce qui est optimal.
Ici, le bonheur pour le type 1 est 2 \times 4 - 2^2 = 4, et le bonheur pour le type 2 est 1 \times 2 - 1^2 = 1.
Le poids total est de 9, ce qui est dans la capacité 10.

Exemple d'entrée 2

3 6
1 4
2 3
2 7

Exemple de sortie 2

14

Exemple d'entrée 3

1 10
1 7

Exemple de sortie 3

12

Il y a N types d'articles. Le i-ème type d'article a un poids de w_i et une valeur de v_i. Chaque type a 10^{10} articles disponibles.
Takahashi va choisir certains articles et les mettre dans un sac avec une capacité W. Il souhaite maximiser la valeur des articles sélectionnés tout en évitant de choisir trop d'articles du même type. Ainsi, il définit le bonheur de choisir k_i articles du type i comme k_i v_i - k_i^2. Il veut choisir des articles pour maximiser le bonheur total pour tous les types tout en maintenant le poids total au maximum W. Calculez le bonheur total maximal qu'il peut atteindre.

Entrée

L'entrée est donnée à partir de l'entrée standard dans le format suivant :
N W
w_1 v_1
w_2 v_2
\vdots
w_N v_N

Sortie

Imprimez la réponse.

Contraintes

- 1 \leq N \leq 3000
- 1 \leq W \leq 3000
- 1 \leq w_i \leq W
- 1 \leq v_i \leq 10^9
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

2 10
3 4
3 2

Exemple de sortie 1

5

En choisissant 2 articles du type 1 et 1 article du type 2, le bonheur total peut être de 5, ce qui est optimal.
Ici, le bonheur pour le type 1 est 2 \times 4 - 2^2 = 4, et le bonheur pour le type 2 est 1 \times 2 - 1^2 = 1.
Le poids total est de 9, ce qui est dans la capacité 10.

Exemple d'entrée 2

3 6
1 4
2 3
2 7

Exemple de sortie 2

14

Exemple d'entrée 3

1 10
1 7

Exemple de sortie 3

12

Il existe N types d'éléments. Le i-ème type d'élément a un poids de w_i et une valeur de v_i. Chaque type a 10^{10} éléments disponibles.
Takahashi va choisir des éléments et les mettre dans un sac d'une capacité W. Il souhaite maximiser la valeur des éléments sélectionnés tout en évitant de choisir trop d'éléments du même type. Par conséquent, il définit le bonheur de choisir k_i éléments de type i comme k_i v_i - k_i^2. Il souhaite choisir des éléments pour maximiser le bonheur total sur tous les types tout en gardant le poids total au plus égal à W. Calculez le bonheur total maximal qu'il peut atteindre.

Entrée

L'entrée est donnée à partir de l'entrée standard au format suivant :
N W
w_1 v_1
w_2 v_2
\vdots
w_N v_N

Sortie

Imprimez la réponse.

Contraintes

- 1 \leq N \leq 3000
- 1 \leq W \leq 3000
- 1 \leq w_i \leq W
- 1 \leq v_i \leq 10^9
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

2 10
3 4
3 2

Exemple de sortie 1

5

En choisissant 2 éléments de type 1 et 1 élément de type 2, le bonheur total peut être de 5, ce qui est optimal.
Ici, le bonheur pour le type 1 est 2 \times 4 - 2^2 = 4, et le bonheur pour le type 2 est 1 \times 2 - 1^2 = 1.
Le poids total est de 9, ce qui est dans la limite de 10.

Exemple d'entrée 2

3 6
1 4
2 3
2 7

Exemple de sortie 2

14

Exemple d'entrée 3

1 10
1 7

Exemple de sortie 3

12


On considère 2N points P_1, P_2, \ldots, P_N, Q_1, Q_2, \ldots, Q_N sur un plan bidimensionnel.
Les coordonnées de P_i sont (A_i, B_i), et les coordonnées de Q_i sont (C_i, D_i).
Aucun trois points différents ne sont alignés sur la même droite.
Déterminez s'il existe une permutation R = (R_1, R_2, \ldots, R_N) de (1, 2, \ldots, N) qui satisfait la condition suivante. Si une telle R existe, trouvez-en une.

- Pour chaque entier i de 1 à N, le segment i est le segment de ligne reliant P_i et Q_{R_i}. Ensuite, le segment i et le segment j (1 \leq i < j \leq N) ne se croisent jamais.

Entrée

L'entrée est donnée depuis l'entrée standard dans le format suivant :
N
A_1 B_1
A_2 B_2
\vdots
A_N B_N
C_1 D_1
C_2 D_2
\vdots
C_N D_N

Sortie

S'il n'existe pas de R satisfaisant la condition, affichez -1.
Si une telle R existe, affichez R_1, R_2, \ldots, R_N séparés par des espaces. S'il y a plusieurs solutions, vous pouvez afficher n'importe laquelle d'entre elles.

Contraintes

- 1 \leq N \leq 300
- 0 \leq A_i, B_i, C_i, D_i \leq 5000 (1 \leq i \leq N)
- (A_i, B_i) \neq (A_j, B_j) (1 \leq i < j \leq N)
- (C_i, D_i) \neq (C_j, D_j) (1 \leq i < j \leq N)
- (A_i, B_i) \neq (C_j, D_j) (1 \leq i, j \leq N)
- Aucun trois points différents ne sont alignés sur la même droite.
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

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

Exemple de sortie 1

2 1 3

Les points sont arrangés comme montré dans la figure suivante.

En choisissant R = (2, 1, 3), les trois segments de ligne ne se croisent pas. De plus, R = (1, 2, 3), (1, 3, 2), (2, 3, 1) et (3, 1, 2) sont aussi des réponses valides.

Exemple d'entrée 2

8
59 85
60 57
72 12
3 27
16 58
41 94
77 64
97 20
32 37
7 2
57 94
35 70
38 60
97 100
5 76
38 8

Exemple de sortie 2

3 5 8 2 7 4 6 1

Il y a 2N points P_1, P_2, \ldots, P_N, Q_1, Q_2, \ldots, Q_N sur un plan bidimensionnel.
Les coordonnées de P_i sont (A_i, B_i), et les coordonnées de Q_i sont (C_i, D_i).
Aucun trois points différents ne sont alignés sur la même droite.
Déterminez s'il existe une permutation R = (R_1, R_2, \ldots, R_N) de (1, 2, \ldots, N) qui satisfait la condition suivante. Si une telle permutation R existe, trouvez-en une.

- Pour chaque entier i de 1 à N, le segment i est le segment de ligne reliant P_i et Q_{R_i}. Ensuite, le segment i et le segment j (1 \leq i < j \leq N) ne se croisent jamais.

Entrée

L'entrée est donnée depuis l'entrée standard dans le format suivant :
N
A_1 B_1
A_2 B_2
\vdots
A_N B_N
C_1 D_1
C_2 D_2
\vdots
C_N D_N

Sortie

Si aucune permutation R ne satisfait la condition, affichez -1.
Si une telle permutation R existe, affichez R_1, R_2, \ldots, R_N séparés par des espaces. S'il y a plusieurs solutions, vous pouvez en afficher une au choix.

Contraintes

- 1 \leq N \leq 300
- 0 \leq A_i, B_i, C_i, D_i \leq 5000 (1 \leq i \leq N)
- (A_i, B_i) \neq (A_j, B_j) (1 \leq i < j \leq N)
- (C_i, D_i) \neq (C_j, D_j) (1 \leq i < j \leq N)
- (A_i, B_i) \neq (C_j, D_j) (1 \leq i, j \leq N)
- Aucun trois points différents ne sont alignés sur la même droite.
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

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

Exemple de sortie 1

2 1 3

Les points sont arrangés comme montré dans la figure suivante.

En choisissant R = (2, 1, 3), les trois segments de ligne ne se croisent pas. De plus, R = (1, 2, 3), (1, 3, 2), (2, 3, 1) et (3, 1, 2) sont également des réponses valides.

Exemple d'entrée 2

8
59 85
60 57
72 12
3 27
16 58
41 94
77 64
97 20
32 37
7 2
57 94
35 70
38 60
97 100
5 76
38 8

Exemple de sortie 2

3 5 8 2 7 4 6 1

Il y a 2N points P_1,P_2,\ldots,P_N, Q_1,Q_2,\ldots,Q_N sur un plan bidimensionnel.
Les coordonnées de P_i sont (A_i, B_i) et les coordonnées de Q_i sont (C_i, D_i).
Il n'y a pas trois points différents situés sur la même ligne droite.
Déterminer s'il existe une permutation R = (R_1, R_2, \ldots, R_N) de (1, 2, \ldots, N) qui satisfait la condition suivante. Si un tel R existe, en trouver un.

- Pour chaque entier i compris entre 1 et N, soit le segment i le segment de droite reliant P_i et Q_{R_i}. Alors, le segment i et le segment j (1 \leq i < j \leq N) ne se coupent jamais.

Entrée

L'entrée est donnée à partir de l'entrée standard au format suivant :
N
A_1 B_1
A_2 B_2
\vdots
A_N B_N
C_1 D_1
C_2 D_2
\vdots
C_N D_N

Sortie

Si aucun R ne satisfait à la condition, imprimez -1.
Si un tel R existe, imprimez R_1, R_2, \ldots, R_N séparés par des espaces. S'il existe plusieurs solutions, vous pouvez imprimer n'importe laquelle d'entre elles.

Contraintes

- 1 \leq N \leq 300
- 0 \leq A_i, B_i, C_i, D_i \leq 5000 (1 \leq i \leq N)
- (A_i, B_i) \neq (A_j, B_j) (1 \leq i < j \leq N)
- (C_i, D_i) \neq (C_j, D_j) (1 \leq i < j \leq N)
- (A_i, B_i) \neq (C_j, D_j) (1 \leq i, j \leq N)
- Aucun point différent ne se trouve sur la même ligne droite.
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

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

Exemple de sortie 1

2 1 3

Les points sont disposés comme indiqué dans la figure suivante.

En définissant R = (2, 1, 3), les trois segments de droite ne se croisent pas. De plus, R = (1, 2, 3), (1, 3, 2), (2, 3, 1) et (3, 1, 2) est une réponse valide.

Exemple d'entrée 2

8
59 85
60 57
72 12
3 27
16 58
41 94
77 64
97 20
32 37
7 2
57 94
35 70
38 60
97 100
5 76
38 8

Exemple de sortie 2

3 5 8 2 7 4 6 1


On vous donne deux séquences d'entiers A et B, chacune de longueur N. Choisissez les entiers i, j (1 \leq i, j \leq N) pour maximiser la valeur de A_i + B_j.

Entrée

L'entrée est donnée à partir de l'entrée standard au format suivant :
N
A_1 A_2 \dots A_N
B_1 B_2 \dots B_N

Sortie

Imprimez la valeur maximale possible de A_i + B_j.

Contraintes

- 1 \leq N \leq 5 \times 10^5
- |A_i| \leq 10^9 (i=1,2,\dots,N)
- |B_j| \leq 10^9 (j=1,2,\dots,N)
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

2
-1 5
3 -7

Exemple de sortie 1

8

Pour (i,j) = (1,1), (1,2), (2,1), (2,2), les valeurs de A_i + B_j sont respectivement 2, -8, 8, -2, et (i,j) = (2,1) atteint la valeur maximale 8.

Exemple d'entrée 2

6
15 12 3 -13 -1 -19
7 17 -13 -10 18 4

Exemple de sortie 2

33

Vous avez deux séquences d'entiers A et B, chacune de longueur N. Choisissez des entiers i, j (1 \leq i, j \leq N) pour maximiser la valeur de A_i + B_j.

Entrée

L'entrée est donnée à partir de l'entrée standard dans le format suivant :
N
A_1 A_2 \dots A_N
B_1 B_2 \dots B_N

Sortie

Affichez la valeur maximale possible de A_i + B_j.

Contraintes

- 1 \leq N \leq 5 \times 10^5
- |A_i| \leq 10^9 (i=1,2,\dots,N)
- |B_j| \leq 10^9 (j=1,2,\dots,N)
- Toutes les valeurs d'entrée sont des entiers.

Exemple d'entrée 1

2
-1 5
3 -7

Exemple de sortie 1

8

Pour (i,j) = (1,1), (1,2), (2,1), (2,2), les valeurs de A_i + B_j sont 2, -8, 8, -2 respectivement, et (i,j) = (2,1) atteint la valeur maximale 8.

Exemple d'entrée 2

6
15 12 3 -13 -1 -19
7 17 -13 -10 18 4

Exemple de sortie 2

33