เส้นทางรถไฟ AtCoder มีสถานี N สถานี หมายเลข 1, 2, \ldots, N
ในเส้นทางนี้ มีรถไฟขาเข้าที่เริ่มที่สถานี 1 และหยุดที่สถานี 2, 3, \ldots, N ตามลำดับ และรถไฟขาออกที่เริ่มที่สถานี N และหยุดที่สถานี N - 1, N - 2, \ldots, 1 ตามลำดับ
ทาคาฮาชิกำลังจะเดินทางจากสถานี X ไปยังสถานี Y โดยใช้รถไฟขาเข้าและขาออกเพียงขบวนเดียว
กำหนดว่ารถไฟจะหยุดที่สถานี Z ระหว่างการเดินทางครั้งนี้หรือไม่

อินพุต

อินพุตจะได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N X Y Z

เอาต์พุต

หากรถไฟหยุดที่สถานี Z ระหว่างการเดินทางจากสถานี X ไปยังสถานี Y ให้พิมพ์ Yes มิฉะนั้น ให้พิมพ์ No

ข้อจำกัด

- 3 \leq N \leq 100
- 1 \leq X, Y, Z \leq N
- X, Y และ Z แยกจากกัน
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

ตัวอย่างอินพุต 1

7 6 1 3

ตัวอย่างเอาต์พุต 1

Yes

หากต้องการเดินทางจากสถานี 6 ไปยังสถานี 1 ทาคาฮาชิจะขึ้นรถไฟขาออก
หลังจากออกจากสถานี 6 แล้ว รถไฟจะหยุดที่สถานี 5, 4, 3, 2, 1 ตามลำดับ ซึ่งรวมถึงสถานี 3 ดังนั้นคุณควรพิมพ์ ใช่

ตัวอย่างอินพุต 2

10 3 2 9

ตัวอย่างเอาต์พุต 2

No

ตัวอย่างอินพุต 3

100 23 67 45

ตัวอย่างเอาต์พุต 3

Yes

AtCoder railway line มีสถานี N หมายเลข 1, 2, \ldots, N.
ในบรรทัดนี้มีรถไฟขาเข้าที่เริ่มต้นที่สถานี 1 และหยุดที่สถานี 2, 3, \ldots, N ตามลำดับและรถไฟขาออกที่เริ่มต้นที่สถานี N และหยุดที่สถานี N - 1, N - 2, \ ldots, 1 ตามลำดับ
Takahashi กำลังจะเดินทางจากสถานี X ไปยังสถานี Y โดยใช้รถไฟขาเข้าหรือขาออกเพียงขบวนเดียว
ตรวจสอบว่ารถไฟหยุดที่สถานี Z ในระหว่างการเดินทางครั้งนี้หรือไม่

ป้อนข้อมูล

อินพุตได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N X Y Z

เอาท์พุท

หากรถไฟหยุดที่สถานี Z ระหว่างการเดินทางจากสถานี X ไปยังสถานี Y ให้พิมพ์ Yes; หากไม่ ให้พิมพ์ No

ข้อ จำกัด

- 3 \leq N \leq 100
- 1 \leq X, Y, Z \leq N
- X, Y และ Z มีความแตกต่าง
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

อินพุตตัวอย่าง 1

7 6 1 3

ตัวอย่างเอาท์พุท 1

Yes

เพื่อเดินทางจากสถานี 6 ไปยังสถานี 1 ทาคา-ฮาชิจะขึ้นรถไฟขาออก
หลังจากออกจากสถานี 6 รถไฟจะหยุดที่สถานี 5, 4, 3, 2, 1 ตามลำดับ ซึ่งรวมถึงสถานี 3 ด้วย ดังนั้นคุณควรพิมพ์ Yes

อินพุตตัวอย่าง 2

10 3 2 9

ตัวอย่างเอาท์พุท 2

No

อินพุตตัวอย่าง 3

100 23 67 45

ตัวอย่างเอาท์พุท 3

Yes

เส้นทางรถไฟ AtCoder มีสถานี N สถานี หมายเลข 1, 2, \ldots, N
บนเส้นทางนี้มีรถไฟขาเข้า ที่เริ่มจากสถานี 1 และจอดที่สถานี 2, 3, \ldots, N ตามลำดับ และรถไฟขาออก ที่เริ่มจากสถานี N และจอดที่สถานี N - 1, N - 2, \ldots, 1 ตามลำดับ
ทาคาฮาชิกำลังจะเดินทางจากสถานี X ไปยังสถานี Y โดยใช้รถไฟขาเข้า หรือรถไฟขาออกเพียงขบวนเดียวเท่านั้น
กำหนดว่ารถไฟจะหยุดที่สถานี Z ในระหว่างการเดินทางนี้หรือไม่

Input

ข้อมูลนำเข้าถูกจัดเตรียมจาก Standard Input ในรูปแบบต่อไปนี้:
N X Y Z

Output

ถ้ารถไฟหยุดที่สถานี Z ระหว่างการเดินทางจากสถานี X ไปยังสถานี Y ให้พิมพ์ว่า ใช่; ถ้าไม่ใช่ให้พิมพ์ว่า  No

ข้อจำกัด

- 3 \leq N \leq 100
- 1 \leq X, Y, Z \leq N
- X, Y และ Z ต่างจากกัน
- ค่าทั้งหมดที่ป้อนเป็นจำนวนเต็ม

ตัวอย่าง Input 1

7 6 1 3

ตัวอย่าง Output 1

Yes

เพื่อเดินทางจากสถานี 6 ไปยังสถานี 1 ทาคาฮาชิจะขึ้นรถไฟขาออก
หลังจากออกจากสถานี 6 รถไฟจะจอดที่สถานี 5, 4, 3, 2, 1 ตามลำดับ ซึ่งรวมถึงสถานี 3 ดังนั้นคุณควรพิมพ์ว่า Yes

ตัวอย่าง Input 2

10 3 2 9

ตัวอย่าง Output 2

No

ตัวอย่าง Input 3

100 23 67 45

ตัวอย่าง Output 3

Yes


มียักษ์ N ตัว ชื่อตั้งแต่ 1 ถึง N เมื่อยักษ์ i ยืนบนพื้น ความสูงไหล่ของพวกมันคือ A_i และความสูงหัวของพวกมันคือ B_i
คุณสามารถเลือกการเรียงสับเปลี่ยน (P_1, P_2, \ldots, P_N) ของ (1, 2, \ldots, N) และวางยักษ์ N ตัวเรียงกันตามกฎต่อไปนี้:

-
ขั้นแรก ให้วางยักษ์ P_1 บนพื้น ไหล่ของยักษ์ P_1 จะอยู่ที่ความสูง A_{P_1} จากพื้น และหัวของพวกมันจะอยู่ที่ความสูง B_{P_1} จากพื้น

-
สำหรับ i = 1, 2, \ldots, N - 1 ตามลำดับ ให้วางยักษ์ P_{i + 1} ไว้บนไหล่ของยักษ์ P_i หากไหล่ของยักษ์ P_i อยู่ที่ความสูง t จากพื้น ไหล่ของยักษ์ P_{i + 1} จะอยู่ที่ความสูง t + A_{P_{i + 1}} จากพื้น และศีรษะจะอยู่ที่ความสูง t + B_{P_{i + 1}} จากพื้น

หาความสูงสูงสุดที่เป็นไปได้ของศีรษะของยักษ์ P_N ที่อยู่สูงที่สุดจากพื้น

อินพุต

อินพุตนี้กำหนดจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N
A_1 B_1
A_2 B_2
\vdots
A_N B_N

เอาต์พุต

พิมพ์คำตอบ

ข้อจำกัด

- 2 \leq N \leq 2 \times 10^5
- 1 \leq A_i \leq B_i \leq 10^9
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม
ตัวอย่างอินพุต 1

3
4 10
5 8
2 9

ตัวอย่างเอาต์พุต 1

18

ถ้า (P_1, P_2, P_3) = (2, 1, 3) จากนั้นวัดจากพื้น ยักษ์ 2 มีความสูงไหล่ 5 และความสูงหัว 8 ยักษ์ 1 มีความสูงไหล่ 9 และความสูงหัว 15 และยักษ์ 3 มีความสูงไหล่ 11 และความสูงหัว 18
ความสูงหัวของยักษ์ที่อยู่สูงที่สุดจากพื้นไม่สามารถมากกว่า 18 ได้ ดังนั้นให้พิมพ์ 18

ตัวอย่างอินพุต 2

5
1 1
1 1
1 1
1 1
1 1
1 1

ตัวอย่างเอาต์พุต 2

5

ตัวอย่างอินพุต 3

10
690830957 868532399
741145463 930111470
612846445 948344128
540375785 925723427
723092548 925021315
928915367 973970164
563314352 832796216
562681294 868338948
923012648 954764623
691107436 891127278

ตัวอย่างผลลัพธ์ 3

7362669937

มียักษ์ N ตัว ชื่อตั้งแต่ 1 ถึง N เมื่อยักษ์ i ยืนบนพื้น ความสูงไหล่ของพวกมันคือ A_i และความสูงหัวของพวกมันคือ B_i
คุณสามารถเลือกการเรียงสับเปลี่ยน (P_1, P_2, \ldots, P_N) ของ (1, 2, \ldots, N) และวางยักษ์ N ตัวเรียงกันตามกฎต่อไปนี้:

-
ขั้นแรก ให้วางยักษ์ P_1 บนพื้น ไหล่ของยักษ์ P_1 จะอยู่ที่ความสูง A_{P_1} จากพื้น และหัวของพวกมันจะอยู่ที่ความสูง B_{P_1} จากพื้น

-
สำหรับ i = 1, 2, \ldots, N - 1 ตามลำดับ ให้วางยักษ์ P_{i + 1} ไว้บนไหล่ของยักษ์ P_i หากไหล่ของยักษ์ P_i อยู่ที่ความสูง t จากพื้น ไหล่ของยักษ์ P_{i + 1} จะอยู่ที่ความสูง t + A_{P_{i + 1}} จากพื้น และศีรษะจะอยู่ที่ความสูง t + B_{P_{i + 1}} จากพื้น

หาความสูงสูงสุดที่เป็นไปได้ของศีรษะของยักษ์ P_N ที่อยู่สูงที่สุดจากพื้น

อินพุต

อินพุตนี้กำหนดจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N
A_1 B_1
A_2 B_2
\vdots
A_N B_N

เอาต์พุต

พิมพ์คำตอบ

ข้อจำกัด

- 2 \leq N \leq 2 \times 10^5
- 1 \leq A_i \leq B_i \leq 10^9
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

ตัวอย่างอินพุต 1

3
4 10
5 8
2 9

ตัวอย่างเอาต์พุต 1

18

ถ้า (P_1, P_2, P_3) = (2, 1, 3) จากนั้นวัดจากพื้น ยักษ์ 2 มีความสูงไหล่ 5 และความสูงหัว 8 ยักษ์ 1 มีความสูงไหล่ 9 และความสูงหัว 15 และยักษ์ 3 มีความสูงไหล่ 11 และความสูงหัว 18
ความสูงหัวของยักษ์ที่อยู่สูงที่สุดจากพื้นไม่สามารถมากกว่า 18 ได้ ดังนั้นให้พิมพ์ 18

ตัวอย่างอินพุต 2

5
1 1
1 1
1 1
1 1
1 1

ตัวอย่างเอาต์พุต 2

5

ตัวอย่างอินพุต 3

10
690830957 868532399
741145463 930111470
612846445 948344128
540375785 925723427
723092548 925021315
928915367 973970164
563314352 832796216
562681294 868338948
923012648 954764623
691107436 891127278

ตัวอย่างผลลัพธ์ 3

7362669937

มี N ยักษ์, ตั้งชื่อ 1 ถึง N เมื่อยักษ์ i ยืนที่พื้น, ความสูงของไหล่คือ A_i และความสูงของหัวคือ B_i
คุณสามารถเลือกการจัดเรียงลำดับ (P_1, P_2, \ldots, P_N) ของ (1, 2, \ldots, N) และวางซ้อนยักษ์ N ตามกฎต่อไปนี้:

-
ก่อนอื่น, วางยักษ์ P_1 บนพื้น ไหล่ของยักษ์ P_1 จะอยู่ที่ความสูง A_{P_1} จากพื้น, และหัวของพวกเขาจะอยู่ที่ความสูง B_{P_1} จากพื้น

-
สำหรับ i = 1, 2, \ldots, N - 1 ตามลำดับ, วางยักษ์ P_{i + 1} บนไหล่ของยักษ์ P_i ถ้าไหล่ของยักษ์ P_i อยู่ที่ความสูง t จากพื้น, แล้วไหล่ของยักษ์ P_{i + 1} จะอยู่ที่ความสูง t + A_{P_{i + 1}} จากพื้น, และหัวของพวกเขาจะอยู่ที่ความสูง t + B_{P_{i + 1}} จากพื้น

ค้นหาความสูงสูงสุดที่หัวของยักษ์ P_N บนสุดสามารถไปถึงจากพื้น

Input

ข้อมูลนำเข้าให้จาก Standard Input ในรูปแบบดังนี้:
N
A_1 B_1
A_2 B_2
\vdots
A_N B_N

Output

พิมพ์คำตอบ

เงื่อนไข

- 2 \leq N \leq 2 \times 10^5
- 1 \leq A_i \leq B_i \leq 10^9
- ค่าข้อมูลนำเข้าทั้งหมดเป็นจำนวนเต็ม

ตัวอย่างInput 1

3
4 10
5 8
2 9

ตัวอย่างOutput 1

18

ถ้า (P_1, P_2, P_3) = (2, 1, 3), จากพื้น ยักษ์ 2 มีความสูงของไหล่ 5 และความสูงของหัว 8, ยักษ์ 1 มีความสูงของไหล่ 9 และความสูงของหัว 15, และยักษ์ 3 มีความสูงของไหล่ 11 และความสูงของหัว 18 ความสูงสูงสุดของหัวของยักษ์บนสุดจากพื้นไม่สามารถเกิน 18, ดังนั้นพิมพ์ 18

ตัวอย่างInput 2

5
1 1
1 1
1 1
1 1
1 1

ตัวอย่างOutput 2

5

ตัวอย่างInput 3

10
690830957 868532399
741145463 930111470
612846445 948344128
540375785 925723427
723092548 925021315
928915367 973970164
563314352 832796216
562681294 868338948
923012648 954764623
691107436 891127278

ตัวอย่างOutput 3

7362669937


ทาคาฮาชิพยายามพิมพ์สตริง S ที่ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กโดยใช้แป้นพิมพ์
เขากำลังพิมพ์โดยมองไปที่แป้นพิมพ์เท่านั้น ไม่ใช่หน้าจอ
เมื่อใดก็ตามที่เขาพิมพ์ตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กตัวอื่นโดยผิดพลาด เขาจะกดปุ่มแบ็คสเปซทันที อย่างไรก็ตาม ปุ่มแบ็คสเปซนั้นใช้งานไม่ได้ ดังนั้นตัวอักษรที่พิมพ์ผิดจะไม่ถูกลบ และสตริงที่พิมพ์จริงคือ T
เขาไม่ได้กดปุ่มอื่นโดยผิดพลาดนอกจากปุ่มสำหรับตัวอักษรภาษาอังกฤษตัวพิมพ์เล็ก
อักขระใน T ที่ไม่ได้พิมพ์ผิดจะเรียกว่าอักขระที่พิมพ์ถูกต้อง
กำหนดตำแหน่งใน T ของอักขระที่พิมพ์ถูกต้อง

อินพุต

อินพุตจะได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
S
T

เอาต์พุต

ให้ |S| เป็นความยาวของ S ถ้าอักขระที่พิมพ์ถูกต้องคืออักขระลำดับที่ A_1, A_2, \ldots, A_{|S|} ของ T ให้พิมพ์ค่าของ A_1, A_2, \ldots, A_{|S|} ตามลำดับนี้ โดยคั่นด้วยช่องว่าง
ตรวจสอบให้แน่ใจว่าเอาต์พุตอยู่ในลำดับที่เพิ่มขึ้น นั่นคือ A_i < A_{i + 1} ควรเป็นค่าสำหรับ 1 \leq i \leq |S| - 1

ข้อจำกัด

- S และ T เป็นสตริงของอักษรภาษาอังกฤษตัวพิมพ์เล็กที่มีความยาวระหว่าง 1 ถึง 2 \times 10^5 รวม
- T เป็นสตริงที่ได้จากขั้นตอนที่อธิบายไว้ในคำชี้แจงปัญหา

ตัวอย่างอินพุต 1

abc
axbxyc

ตัวอย่างเอาต์พุต 1

1 3 6

ลำดับการพิมพ์ของ Takahashi มีดังนี้:

- พิมพ์ a.
- พยายามพิมพ์ b แต่พิมพ์ x ผิด
- กดปุ่ม backspace แต่ตัวอักษรไม่ถูกลบ
- พิมพ์ b
- พยายามพิมพ์ c แต่พิมพ์ x ผิด
- กดปุ่ม backspace แต่ตัวอักษรไม่ถูกลบ
- พยายามพิมพ์ c แต่พิมพ์ y ผิด
- กดปุ่ม backspace แต่ตัวอักษรไม่ถูกลบ
- พิมพ์ c

ตัวอักษรที่พิมพ์ถูกต้องคือตัวอักษรตัวแรก ตัวที่สาม และตัวที่หก

ตัวอย่างอินพุต 2

aaaa
bbbbaaaa

ตัวอย่างเอาต์พุต 2

5 6 7 8

ตัวอย่างอินพุต 3

atcoder
atcoder

ตัวอย่างเอาต์พุต 3

1 2 3 4 5 6 7

ทาคาฮาชิไม่ได้พิมพ์ตัวอักษรใดๆ ผิด

Takahashi พยายามพิมพ์สตริง S ซึ่งประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กโดยใช้แป้นพิมพ์
เขาพิมพ์โดยดูที่คีย์บอร์ดเท่านั้น ไม่ได้ดูที่หน้าจอ
ทุกครั้งเมื่อเขาพิมพ์ตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กที่ผิดพลาด เขาจะกดปุ่ม backspace ทันที แต่ปุ่ม backspace เสีย ดังนั้นตัวอักษรที่พิมพ์ผิดจะไม่ถูกลบ และสตริงจริงที่พิมพ์ออกมากลายเป็น T
เขาไม่ได้กดปุ่มใดๆ นอกจากตัวอักษรภาษาอังกฤษตัวพิมพ์เล็ก
ตัวอักษร T ที่ไม่ได้พิมพ์ผิด จะถูกเรียกว่าตัวอักษรที่พิมพ์ถูกต้อง
กำหนดตำแหน่งใน T ของตัวอักษรที่พิมพ์ถูกต้อง

Input

ข้อมูลนำเข้ามีให้ในรูปแบบต่อไปนี้จาก อินพุตมาตรฐาน:
S
T

Output

ให้ |S| เป็นความยาวของ S ถ้าตัวอักษรที่พิมพ์ถูกต้องคือตัวที่ A_1-th, A_2-th, \ldots, A_{|S|}-th ของ T ให้พิมพ์ค่า A_1, A_2, \ldots, A_{|S|} ตามลำดับ โดยคั่นด้วยช่องว่าง
ตรวจสอบให้แน่ใจว่าข้อมูลส่งออกอยู่ในลำดับจากน้อยไปมาก นั่นคือ A_i < A_{i + 1} ควรคงไว้สำหรับแต่ละ1 \leq i \leq |S| - 1

ข้อจำกัด

- S และ T เป็นสตริงตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กที่มีความยาวระหว่าง 1 และ 2 \times 10^5 รวมทั้งสิ้น
- T เป็นสตริงที่ได้รับมาจากขั้นตอนที่อธิบายไว้ในโจทย์

ตัวอย่างข้อมูลนำเข้า 1

abc
axbxyc

ตัวอย่างข้อมูลส่งออก 1

1 3 6

ลำดับการพิมพ์ของ Takahashi เป็นดังนี้:

- พิมพ์ a
- ลองพิมพ์ b แต่พิมพ์ผิดเป็น x
- กดปุ่ม backspace แต่ตัวอักษรไม่ได้ถูกลบ
- พิมพ์ b
- ลองพิมพ์ c แต่พิมพ์ผิดเป็น x
- กดปุ่ม backspace แต่ตัวอักษรไม่ได้ถูกลบ
- ลองพิมพ์ c แต่พิมพ์ผิดเป็น y
- กดปุ่ม backspace แต่ตัวอักษรไม่ได้ถูกลบ
- พิมพ์ c

ตัวอักษรที่พิมพ์ถูกต้องคือตัวที่หนึ่ง สาม และหก

ตัวอย่างข้อมูลนำเข้า 2

aaaa
bbbbaaaa

ตัวอย่างข้อมูลส่งออก 2

5 6 7 8

ตัวอย่างข้อมูลนำเข้า 3

atcoder
atcoder

ตัวอย่างข้อมูลส่งออก 3

1 2 3 4 5 6 7

Takahashi ไม่ได้พิมพ์ผิดเลย

ทาคาฮาชิพยายามพิมพ์สตริง S ที่ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กโดยใช้แป้นพิมพ์
เขากำลังพิมพ์โดยมองไปที่แป้นพิมพ์เท่านั้น ไม่ใช่หน้าจอ
เมื่อใดก็ตามที่เขาพิมพ์ตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กตัวอื่นโดยผิดพลาด เขาจะกดปุ่มแบ็คสเปซทันที อย่างไรก็ตาม ปุ่มแบ็คสเปซนั้นใช้งานไม่ได้ ดังนั้นตัวอักษรที่พิมพ์ผิดจะไม่ถูกลบ และสตริงที่พิมพ์จริงคือ T
เขาไม่ได้กดปุ่มอื่นโดยผิดพลาดนอกจากปุ่มสำหรับตัวอักษรภาษาอังกฤษตัวพิมพ์เล็ก
อักขระใน T ที่ไม่ได้พิมพ์ผิดจะเรียกว่าอักขระที่พิมพ์ถูกต้อง
กำหนดตำแหน่งใน T ของอักขระที่พิมพ์ถูกต้อง

อินพุต

อินพุตจะได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
S
T

เอาต์พุต

ให้ |S| เป็นความยาวของ S ถ้าตัวอักษรที่พิมพ์ถูกต้องคือตัวที่ A_1-ที่, A_2-ที่, \ldots, A_{|S|}-ที่ ของ T ให้พิมพ์ค่า A_1, A_2, \ldots, A_{|S|} ตามลำดับ โดยแยกด้วยช่องว่าง
ตรวจสอบให้แน่ใจว่าเอาต์พุตอยู่ในลำดับที่เพิ่มขึ้น นั่นคือ A_i < A_{i + 1} ควรเป็นค่าสำหรับ 1 \leq i \leq |S| - 1

ข้อจำกัด

- S และ T เป็นสตริงของอักษรภาษาอังกฤษตัวพิมพ์เล็กที่มีความยาวระหว่าง 1 ถึง 2 \times 10^5 รวม
- T เป็นสตริงที่ได้จากขั้นตอนที่อธิบายไว้ในคำชี้แจงปัญหา

ตัวอย่างอินพุต 1

abc
axbxyc

ตัวอย่างเอาต์พุต 1

1 3 6

ลำดับการพิมพ์ของ Takahashi มีดังนี้:

- พิมพ์ a. - พยายามพิมพ์ b แต่พิมพ์ x ผิด
- กดปุ่ม backspace แต่ตัวอักษรไม่ถูกลบ
- พิมพ์ b
- พยายามพิมพ์ c แต่พิมพ์ x ผิด
- กดปุ่ม backspace แต่ตัวอักษรไม่ถูกลบ
- พยายามพิมพ์ c แต่พิมพ์ y ผิด
- กดปุ่ม backspace แต่ตัวอักษรไม่ถูกลบ
- พิมพ์ c

ตัวอักษรที่พิมพ์ถูกต้องคือตัวอักษรตัวแรก ตัวที่สาม และตัวที่หก

ตัวอย่างอินพุต 2

aaaa
bbbbaaaa

ตัวอย่างเอาต์พุต 2

5 6 7 8

ตัวอย่างอินพุต 3

atcoder
atcoder

ตัวอย่างเอาต์พุต 3

1 2 3 4 5 6 7

ทาคาฮาชิไม่ได้พิมพ์ตัวอักษรใดๆ ผิด


คุณได้รับชุดการเรียง P = (P_1, P_2, \dots, P_N) ของ (1, 2, \dots, N)
ลำดับของดัชนีความยาว K (i_1, i_2, \dots, i_K) จะเรียกว่าเป็นลำดับดัชนีที่ดีหากมีเงื่อนไขต่อไปนี้:

- 1 \leq i_1 < i_2 < \dots < i_K \leq N
- ลำดับย่อย (P_{i_1}, P_{i_2}, \dots, P_{i_K}) สามารถจัดเรียงใหม่จากจำนวนเต็มติดต่อกัน K ตัวได้
โดยมีจำนวนเต็ม a ที่ทำให้ \lbrace P_{i_1},P_{i_2},\dots,P_{i_K} \rbrace = \lbrace a,a+1,\dots,a+K-1 \rbrace

จงหาค่าต่ำสุดของ i_K - i_1 จากลำดับดัชนีที่ดีทั้งหมด สามารถแสดงได้ว่ามีอย่างน้อยหนึ่งลำดับดัชนีที่ดีตามข้อจำกัดของปัญหานี้

Input

ข้อมูลนำเข้าถูกให้จาก Standard Input ในรูปแบบต่อไปนี้:
N K
P_1 P_2 \dots P_N

Output

พิมพ์ค่าต่ำสุดของ i_K - i_1 จากลำดับดัชนีที่ดีทั้งหมด

ข้อจำกัด

- 1 \leq K \leq N \leq 2 \times 10^5
- 1 \leq P_i \leq N
- P_i \neq P_j หาก i \neq j
- ค่าข้อมูลนำเข้าทั้งหมดเป็นจำนวนเต็ม

ตัวอย่างInput 1

4 2
2 3 1 4

ตัวอย่างOutput 1

1

ลำดับดัชนีที่ดีคือ (1,2),(1,3),(2,4) เป็นต้น ตัวอย่างเช่น (i_1, i_2) = (1,3) เป็นลำดับดัชนีที่ดีเพราะ 1 \leq i_1 < i_2 \leq N และ (P_{i_1}, P_{i_2}) = (2,1) เป็นการจัดเรียงใหม่ของจำนวนเต็มติดต่อกันสองตัว 1, 2
ในบรรดาลำดับดัชนีที่ดีทั้งหมด ค่าต่ำสุดของ i_K - i_1 อยู่ที่ (1,2) ซึ่งเป็น 2-1=1

ตัวอย่างInput 2

4 1
2 3 1 4

ตัวอย่างOutput 2

0

i_K - i_1 = i_1 - i_1 = 0 ในลำดับดัชนีที่ดีทั้งหมด

ตัวอย่างInput 3

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

ตัวอย่างOutput 3

5

คุณได้รับชุดการเรียงlสับเปลี่ยน P = (P_1, P_2, \dots, P_N) ของ (1, 2, \dots, N)
ลำดับดัชนีความยาว K (i_1, i_2, \dots, i_K) จะเรียกว่าเป็นลำดับดัชนีที่ดีหากมีเงื่อนไขต่อไปนี้:

- 1 \leq i_1 < i_2 < \dots < i_K \leq N
- ลำดับย่อย (P_{i_1}, P_{i_2}, \dots, P_{i_K}) สามารถจัดเรียงใหม่เป็นจำนวนเต็มติดต่อกัน K ตัวได้"
โดยมีจำนวนเต็ม a ที่ทำให้ \lbrace P_{i_1},P_{i_2},\dots,P_{i_K} \rbrace = \lbrace a,a+1,\dots,a+K-1 \rbrace

จงหาค่าต่ำสุดของ i_K - i_1 จากลำดับดัชนีที่ดีทั้งหมด สามารถแสดงได้ว่ามีลำดับดัชนีอย่างน้อยหนึ่งลำดับดัชนีภายใต้ข้อจำกัดของปัญหานี้

Input

ข้อมูลนำเข้าถูกให้จาก อินพุตมาตรฐานในรูปแบบต่อไปนี้:
N K
P_1 P_2 \dots P_N

Output

พิมพ์ค่าต่ำสุดของ i_K - i_1 จากลำดับดัชนีที่ดีทั้งหมด

ข้อจำกัด

- 1 \leq K \leq N \leq 2 \times 10^5
- 1 \leq P_i \leq N
- P_i \neq P_j หาก i \neq j
- ค่าข้อมูลนำเข้าทั้งหมดเป็นจำนวนเต็ม

ตัวอย่างข้อมูลนำเข้า 1

4 2
2 3 1 4

ตัวอย่างข้อมูลส่งออก 1

1

ลำดับดัชนีที่ดีคือ (1,2),(1,3),(2,4) เป็นต้น ตัวอย่างเช่น (i_1, i_2) = (1,3) เป็นลำดับดัชนีที่ดีเพราะ 1 \leq i_1 < i_2 \leq N และ (P_{i_1}, P_{i_2}) = (2,1) เป็นการจัดเรียงใหม่ของจำนวนเต็มติดต่อกัน 1 และ 2
ในบรรดาลำดับดัชนีที่ดีทั้งหมด ค่าต่ำสุดของ i_K - i_1 อยู่ที่ (1,2) ซึ่งเป็น 2-1=1

ตัวอย่างข้อมูลนำเข้า 2

4 1
2 3 1 4

ตัวอย่างข้อมูลส่งออก 2

0

i_K - i_1 = i_1 - i_1 = 0 ในลำดับดัชนีที่ดีทั้งหมด

ตัวอย่างข้อมูลนำเข้า 3

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

ตัวอย่างข้อมูลส่งออก 3

5

คุณจะได้รับการเปลี่ยนแปลง P = (P_1, P_2, \dots, P_N) ของ (1, 2, \dots, N)
ลำดับความยาวของดัชนี (i_1, i_2, \dots, i_K) เรียกว่าลำดับดัชนีที่ดีหากเป็นไปตามเงื่อนไขทั้งสองต่อไปนี้:

- 1 \leq i_1 <i_2 < \dots <i_k \leq N
- ลำดับ (P_{i_1}, P_{i_2}, \dKots, P_ {i_}) สามารถรับได้โดยการจัดเรียงจำนวนเต็ม K ติดต่อกันใหม่
อย่างเป็นทางการมีจำนวนเต็มเช่นนั้น  \lbrace P_{i_1},P_{i_2},\dots,P_{i_K} \rbrace = \lbrace a,a+1,\dots,a+K-1 \rbrace

ค้นหาค่าต่ำสุดของ i_K - i_1 ในลำดับดัชนีที่ดีทั้งหมด มันสามารถแสดงให้เห็นว่าอย่างน้อยหนึ่งลำดับดัชนีที่ดีอยู่ภายใต้ข้อ จำกัด ของปัญหานี้

ป้อนข้อมูล

อินพุตได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N K
P_1 P_2 \dots P_N

เอาท์พุท

พิมพ์ค่าต่ำสุดของ i_K - i_1 ในลำดับดัชนีที่ดีทั้งหมด

ข้อ จำกัด

- 1 \leq K \leq N \leq 2 \times 10^5
- 1 \leq P_i \leq N
- P_i \neq P_j if i \neq j.
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

อินพุตตัวอย่าง 1

4 2
2 3 1 4

ตัวอย่างเอาท์พุท 1

1

ลำดับดัชนีที่ดีคือ (1,2), (1,3), (2,4) ตัวอย่างเช่น (i_1, i_2) = (1,3) เป็นลำดับดัชนีที่ดีเนื่องจาก 1 \leq i_1 <i_2 \leq N และ (P_ {i_1}, P_ {i_2}) = (2,1) เป็นการจัดเรียงใหม่ ของสองจำนวนเต็มติดต่อกัน 1, 2
ในบรรดาลำดับดัชนีที่ดีเหล่านี้ค่าที่เล็กที่สุดของ i_K - i_1 สำหรับ (1,2) ซึ่งคือ 2-1 = 1

อินพุตตัวอย่าง 2

4 1
2 3 1 4

ตัวอย่างเอาท์พุท 2

0

i_K - i_1 = i_1 - i_1  = 0 ในลำดับดัชนีที่ดีทั้งหมด

อินพุตตัวอย่าง 3

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

ตัวอย่างเอาท์พุท 3

5


สำหรับจำนวนเต็มบวก x และ y ให้กำหนด f(x, y) เป็นเศษเหลือของ (x + y) หารด้วย 10^8
ให้คุณลำดับของจำนวนเต็มบวก A = (A_1, \ldots, A_N) ซึ่งมีความยาว N จงหาค่าของนิพจน์ต่อไปนี้:
\displaystyle \sum_{i=1}^{N-1}\sum_{j=i+1}^N f(A_i,A_j).

Input

ข้อมูลนำเข้าจะได้รับจาก Standard Input ในรูปแบบต่อไปนี้:
N
A_1 \ldots A_N

Output

พิมพ์คำตอบ

เงื่อนไข

- 2 \leq N \leq 3\times 10^5
- 1 \leq A_i < 10^8
- ค่าทั้งหมดที่นำเข้าเป็นจำนวนเต็ม

ตัวอย่างInput 1

3
3 50000001 50000002

ตัวอย่างOutput 1

100000012

- f(A_1,A_2)=50000004
- f(A_1,A_3)=50000005
- f(A_2,A_3)=3

ดังนั้น คำตอบคือ f(A_1,A_2) + f(A_1,A_3) + f(A_2,A_3) = 100000012
โปรดสังเกตว่าไม่ได้ขอให้คำนวณเศษเหลือของผลรวมหารด้วย 10^8

ตัวอย่างInput 2

5
1 3 99999999 99999994 1000000

ตัวอย่างOutput 2

303999988

สำหรับจำนวนเต็มบวก x และ y ให้กำหนด f(x, y) เป็นเศษของ (x + y) หารด้วย 10^8
คุณได้รับลำดับของจำนวนเต็มบวก A = (A_1, \ldots, A_N) ที่มีความยาว N หาค่าของนิพจน์ต่อไปนี้:
\displaystyle \sum_{i=1}^{N-1}\sum_{j=i+1}^N f(A_i,A_j).

Input

ข้อมูลนำเข้าถูกให้มาจากการป้อนข้อมูลมาตรฐานในรูปแบบต่อไปนี้:
N
A_1 \ldots A_N

Output

พิมพ์คำตอบ

ข้อจำกัด

- 2 \leq N \leq 3\times 10^5
- 1 \leq A_i < 10^8
- ค่าทั้งหมดที่นำเข้าเป็นจำนวนเต็ม

ตัวอย่างInput 1

3
3 50000001 50000002

ตัวอย่างOutput 1

100000012

- f(A_1,A_2)=50000004
- f(A_1,A_3)=50000005
- f(A_2,A_3)=3

ดังนั้น คำตอบคือ f(A_1,A_2) + f(A_1,A_3) + f(A_2,A_3) = 100000012
โปรดทราบว่าคุณไม่ได้ถูกขอให้คำนวณเศษของผลรวมที่หารด้วย 10^8.

ตัวอย่าง Input 2

5
1 3 99999999 99999994 1000000

ตัวอย่างOutput 2

303999988

สําหรับจํานวนเต็มบวก x และ y ให้กําหนด f(x, y) เป็นเศษจากการหารของ (x + y) หารด้วย 10^8
คุณจะได้รับลําดับของจํานวนเต็มบวก A = (A_1, \ldots, A_N) ที่มีความยาว N ค้นหาค่าของนิพจน์ต่อไปนี้:
\displaystyle \sum_{i=1}^{N-1}\sum_{j=i+1}^N f(A_i,A_j).

อินพุต

อินพุตจะได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N
A_1 \ldots A_N

เอาต์พุต

พิมพ์คําตอบ

ข้อจํากัด

- 2 \leq N \leq 3\times 10^5
- 1 \leq A_i < 10^8
- ค่าอินพุตทั้งหมดเป็นจํานวนเต็ม

ตัวอย่างข้อมูลนำเข้า 1

3
3 50000001 50000002

ตัวอย่างเอาต์พุต 1

100000012

- f(A_1,A_2)=50000004
- f(A_1,A_3)=50000005
- f(A_2,A_3)=3

ดังนั้นคําตอบคือ f(A_1,A_2) + f(A_1,A_3) + f(A_2,A_3) = 100000012
โปรดทราบว่าคุณไม่ได้ถูกขอให้คํานวณเศษจากการหารของผลรวมหารด้วย 10^8

ตัวอย่างข้อมูลนำเข้า 2

5
1 3 99999999 99999994 1000000

ตัวอย่างเอาต์พุต 2

303999988


สวนสนุก AtCoder มีเครื่องเล่นที่สามารถรองรับคนได้ K คน ขณะนี้มีกลุ่ม N กลุ่มที่เข้าคิวสำหรับเครื่องเล่นนี้
กลุ่มที่ i จากด้านหน้า (1\leq i\leq N) ประกอบด้วยคน A_i คน สำหรับทั้งหมด i (1\leq i\leq N) ถือว่า A_i \leq K
ทาคาฮาชิ ในฐานะพนักงานของเครื่องเล่นนี้จะแนะนำกลุ่มในคิวตามขั้นตอนต่อไปนี้
ในขั้นต้น ยังไม่มีใครได้รับการแนะนำไปยังเครื่องเล่น และมีที่นั่งว่าง K ที่

- หากไม่มีกลุ่มในคิว ให้เริ่มเล่นเครื่องเล่นและสิ้นสุดการแนะนำ
- เปรียบเทียบจำนวนที่นั่งว่างในเครื่องเล่นกับจำนวนคนในกลุ่มที่อยู่ด้านหน้าของคิว แล้วทำอย่างใดอย่างหนึ่งต่อไปนี้:
- หากจำนวนที่นั่งว่างน้อยกว่าจำนวนคนในกลุ่มที่อยู่ด้านหน้า ให้เริ่มเล่นเครื่องเล่น จากนั้น จำนวนที่นั่งว่างจะกลายเป็น K อีกครั้ง
- มิฉะนั้น ให้แนะนำกลุ่มทั้งหมดที่อยู่ด้านหน้าของคิวไปยังเครื่องเล่น กลุ่มหน้าจะถูกลบออกจากคิว และจำนวนที่นั่งว่างจะลดลงตามจำนวนคนในกลุ่ม

- กลับไปที่ขั้นตอนที่ 1

ที่นี่ จะไม่มีกลุ่มเพิ่มเติมเข้าแถวหลังจากเริ่มการแนะนำ ภายใต้เงื่อนไขเหล่านี้ จะแสดงให้เห็นว่าขั้นตอนนี้จะสิ้นสุดในขั้นตอนจำนวนจำกัด
กำหนดจำนวนครั้งที่จะเริ่มดึงดูดตลอดการแนะนำ

อินพุต

อินพุตจะได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N K
A_1 A_2 \ldots A_N

เอาต์พุต

พิมพ์คำตอบ

ข้อจำกัด

- 1\leq N\leq 100
- 1\leq K\leq 100
- 1\leq A_i\leq K\ (1\leq i\leq N)
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

ตัวอย่างอินพุต 1

7 6
2 5 1 4 1 2 3

ตัวอย่างเอาต์พุต 1

4

ในตอนแรก กลุ่มทั้งเจ็ดจะเรียงกันดังนี้:

ส่วนหนึ่งของคำแนะนำของทาคาฮาชิแสดงไว้ในรูปต่อไปนี้:

- ในตอนแรก กลุ่มที่อยู่ด้านหน้ามี 2 คน และมีที่นั่งว่าง 6 ที่ ดังนั้น เขาจึงนำกลุ่มที่อยู่ด้านหน้าไปที่สถานที่ท่องเที่ยว โดยเหลือที่นั่งว่าง 4 ที่
- ต่อมา กลุ่มที่อยู่ด้านหน้ามี 5 คน ซึ่งมากกว่าที่นั่งว่าง 4 ที่ ดังนั้นสถานที่ท่องเที่ยวจึงเริ่มต้นขึ้น
- หลังจากที่สถานที่ท่องเที่ยวเริ่มต้น มีที่นั่งว่าง 6 ที่อีกครั้ง ดังนั้นกลุ่มที่อยู่ด้านหน้าจึงถูกนำทางไปที่สถานที่ท่องเที่ยว โดยเหลือที่นั่งว่าง 1 ที่
- ต่อมา กลุ่มที่อยู่ด้านหน้ามี 1 คน ดังนั้นพวกเขาจึงถูกนำทางไปที่สถานที่ท่องเที่ยว โดยเหลือที่นั่งว่าง 0 ที่

เขาเริ่มสถานที่ท่องเที่ยวทั้งหมดสี่ครั้งก่อนที่คำแนะนำจะเสร็จสิ้น ดังนั้น ให้พิมพ์ 4

ตัวอย่างอินพุต 2

7 10
1 10 1 10 1 10 1

ตัวอย่างเอาต์พุต 2

7

ตัวอย่างอินพุต 3

15 100
73 8 55 26 97 48 37 47 35 55 5 17 62 2 60

ตัวอย่างเอาต์พุต 3

8

Atcoder Amusement Park มีแหล่งท่องเที่ยวที่สามารถรองรับคน K ได้ ตอนนี้มีมีกลุ่ม N อยู่ในคิวสำหรับแหล่งท่องเที่ยวนี้
กลุ่มที่ i จากด้านหน้า (1 \ leq i \ leq N) ประกอบด้วยคน A_i สำหรับทุกคน (1 \ leq i \ leq N) มันถือได้ว่า A_i \ leq K
Takahashi ในฐานะพนักงานของแหล่งท่องเที่ยวนี้จะแนะนำกลุ่มในคิวตามขั้นตอนต่อไปนี้
ในขั้นต้นไม่มีใครได้รับคำแนะนำไปยังแหล่งท่องเที่ยวและมีที่นั่งว่างเปล่า

- หากไม่มีกลุ่มในคิวให้เริ่มแหล่งท่องเที่ยวและสิ้นสุดคำแนะนำ
- เปรียบเทียบจำนวนที่นั่งว่างในแหล่งท่องเที่ยวกับจำนวนคนในกลุ่มที่ด้านหน้าของคิวและทำสิ่งใดสิ่งหนึ่งต่อไปนี้:
- หากจำนวนที่นั่งว่างน้อยกว่าจำนวนคนในกลุ่มที่ด้านหน้าให้เริ่มแหล่งท่องเที่ยว จากนั้นจำนวนที่นั่งว่างจะกลายเป็น k อีกครั้ง
- มิฉะนั้นแนะนำกลุ่มทั้งหมดที่ด้านหน้าของคิวไปยังสถานที่ท่องเที่ยว กลุ่มด้านหน้าจะถูกลบออกจากคิวและจำนวนที่นั่งว่างลดลงตามจำนวนคนในกลุ่ม

- กลับไปที่ขั้นตอนที่ 1 ของคำแนะนำ

ที่นี่ไม่มีกลุ่มเพิ่มเติมจะเข้าแถวหลังจากคำแนะนำได้เริ่มขึ้น ภายใต้เงื่อนไขเหล่านี้สามารถแสดงให้เห็นว่าขั้นตอนนี้จะสิ้นสุดในจำนวนขั้นตอนที่ จำกัด
กำหนดจำนวนครั้งที่แหล่งท่องเที่ยวจะเริ่มต้นตลอดคำแนะนำ

ป้อนข้อมูล

อินพุตได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N K
A_1 A_2 \ldots A_N

เอาท์พุท

พิมพ์คำตอบ

ข้อ จำกัด

- 1\leq N\leq 100
- 1\leq K\leq 100
- 1\leq A_i\leq K\ (1\leq i\leq N)
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

อินพุตตัวอย่าง 1

7 6
2 5 1 4 1 2 3

ตัวอย่างเอาท์พุท 1

4

ในขั้นต้นทั้งเจ็ดกลุ่มได้รับการจัดเรียงดังนี้:

ส่วนหนึ่งของคำแนะนำของ Takahashi แสดงในรูปต่อไปนี้:

- เริ่มแรกกลุ่มที่ด้านหน้ามี 2 คนและมี 6 ที่นั่งว่าง ดังนั้นเขาจึงแนะนำกลุ่มด้านหน้าไปยังสถานที่ท่องเที่ยวทิ้งที่นั่งว่าง 4 ที่นั่ง
- ถัดไปกลุ่มที่อยู่ด้านหน้ามี 5 คนซึ่งมากกว่า 4 ที่นั่งว่างเปล่าดังนั้นแหล่งท่องเที่ยวจึงเริ่มต้นขึ้น
- หลังจากสถานที่ท่องเที่ยวเริ่มต้นมีที่นั่งว่าง 6 ที่นั่งอีกครั้งดังนั้นกลุ่มด้านหน้าจะถูกนำทางไปยังสถานที่ท่องเที่ยวโดยทิ้งที่นั่งว่าง 1 ที่นั่ง
- ถัดไปกลุ่มที่อยู่ด้านหน้ามี 1 คนดังนั้นพวกเขาจึงได้รับคำแนะนำไปยังสถานที่ท่องเที่ยวทิ้งที่นั่งว่างไว้ 0 ที่นั่ง

โดยรวมแล้วเขาเริ่มแหล่งท่องเที่ยวสี่ครั้งก่อนที่คำแนะนำจะเสร็จสมบูรณ์
ดังนั้นพิมพ์ 4.

อินพุตตัวอย่าง 2

7 10
1 10 1 10 1 10 1

ตัวอย่างเอาท์พุท 2

7

อินพุตตัวอย่าง 3

15 100
73 8 55 26 97 48 37 47 35 55 5 17 62 2 60

ตัวอย่างเอาท์พุท 3

8


มีอาคาร N หลังเรียงกันเป็นแถว อาคารหลังที่ i จากซ้ายมีความสูง H_i
ตรวจสอบว่ามีอาคารใดสูงกว่าอาคารหลังแรกจากซ้ายหรือไม่ หากมีอาคารดังกล่าวอยู่ ให้หาตำแหน่งของอาคารหลังซ้ายสุดจากซ้าย

อินพุต

อินพุตได้จากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N
H_1 H_2 \ldots H_N

เอาต์พุต

หากไม่มีอาคารใดสูงกว่าอาคารหลังแรกจากซ้าย ให้พิมพ์ -1
หากมีอาคารดังกล่าวอยู่ ให้พิมพ์ตำแหน่ง (ดัชนี) ของอาคารหลังซ้ายสุดจากซ้าย

ข้อจำกัด

- 1 \leq N \leq 100
- 1 \leq H_i \leq 100
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

ตัวอย่างอินพุต 1

4
3 2 5 2

ตัวอย่างเอาต์พุต 1

3

อาคารที่สูงกว่าอาคารแรกจากซ้ายคืออาคารที่สามจากซ้าย

ตัวอย่างอินพุต 2

3
4 3 2

ตัวอย่างเอาต์พุต 2

-1

ไม่มีอาคารใดสูงกว่าอาคารแรกจากซ้าย

ตัวอย่างอินพุต 3

7
10 5 10 2 10 13 15

ตัวอย่างเอาต์พุต 3

6

อาคารที่สูงกว่าอาคารแรกจากซ้ายคืออาคารที่หกและเจ็ด ในจำนวนนั้น อาคารที่อยู่ซ้ายสุดคืออาคารที่หก

มีอาคาร N หลังเรียงกันในแถว อาคารที่ i จากทางซ้ายมีความสูง H_i กำหนดให้ตรวจสอบว่ามีอาคารที่สูงกว่าตึกแรกจากทางซ้ายหรือไม่ หากมีอาคารดังกล่าว ให้หาตำแหน่งของอาคารที่สูงที่สุดที่อยู่ทางซ้ายสุดจากทางซ้าย

Input

ข้อมูลนำเข้าให้มาจาก Standard Input ในรูปแบบดังนี้:
N
H_1 H_2 \ldots H_N

Output

ถ้าไม่มีอาคารใดสูงกว่าตึกแรกจากทางซ้าย ให้พิมพ์ -1
ถ้ามีอาคารดังกล่าวอยู่ ให้พิมพ์ตำแหน่ง (ดัชนี) ของอาคารที่สูงที่สุดทางซ้ายสุดจากทางซ้าย

ข้อจำกัด

- 1 \leq N \leq 100
- 1 \leq H_i \leq 100
- ค่าทุกค่าที่ป้อนเข้ามาเป็นจำนวนเต็ม

ตัวอย่าง Input 1

4
3 2 5 2

ตัวอย่าง Output 1

3

อาคารที่สูงกว่าตึกแรกจากทางซ้ายคืออาคารที่สามจากทางซ้าย

ตัวอย่างInput 2

3
4 3 2

ตัวอย่าง Output 2

-1

ไม่มีอาคารใดสูงกว่าตึกแรกจากทางซ้าย.

ตัวอย่าง Input 3

7
10 5 10 2 10 13 15

ตัวอย่าง Output 3

6

อาคารที่สูงกว่าตึกแรกจากทางซ้ายคืออาคารที่หกและที่เจ็ด โดยอาคารที่อยู่ทางซ้ายสุดคืออาคารที่หก

มีอาคาร N จัดเรียงในแถว อาคาร i-th จากด้านซ้ายมีความสูงของ H_i
ตรวจสอบว่ามีอาคารสูงกว่าอาคารแรกจากด้านซ้ายหรือไม่ หากอาคารดังกล่าวมีอยู่ให้ค้นหาตำแหน่งของอาคารด้านซ้ายสุดจากทางซ้าย

ป้อนข้อมูล

อินพุตได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N
H_1 H_2 \ldots H_N

เอาท์พุท

หากไม่มีอาคารสูงกว่าอาคารแรกจากซ้ายให้พิมพ์ -1
หากอาคารดังกล่าวมีอยู่ให้พิมพ์ตำแหน่ง (ดัชนี) ของอาคารด้านซ้ายสุดจากด้านซ้าย

ข้อ จำกัด

- 1 \leq N \leq 100
- 1 \leq H_i \leq 100
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

อินพุตตัวอย่าง 1

4
3 2 5 2

ตัวอย่างเอาท์พุท 1

3

อาคารที่สูงกว่าอาคารแรกจากด้านซ้ายเป็นอาคารที่สามจากด้านซ้าย

อินพุตตัวอย่าง 2

3
4 3 2

ตัวอย่างเอาท์พุท 2

-1

ไม่มีอาคารใดสูงกว่าอาคารแรกจากซ้าย

อินพุตตัวอย่าง 3

7
10 5 10 2 10 13 15

ตัวอย่างเอาท์พุท 3

6

อาคารที่สูงกว่าอาคารแรกจากด้านซ้ายเป็นอาคารที่หกและเจ็ด ในหมู่พวกเขาด้านซ้ายสุดคือที่หก


สำหรับสตริง x และ y ให้กำหนด f(x, y) ดังต่อไปนี้:

- f(x, y) คือความยาวของคำนำหน้าร่วมที่ยาวที่สุดของ x และ y

คุณจะได้รับสตริง N สตริง (S_1, \ldots, S_N) ที่ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็ก หาค่าของนิพจน์ต่อไปนี้:
\displaystyle \sum_{i=1}^{N-1}\sum_{j=i+1}^N f(S_i,S_j).

อินพุต

อินพุตกำหนดจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N
S_1 \ldots S_N

เอาต์พุต

พิมพ์คำตอบ

ข้อจำกัด

- 2 \leq N \leq 3\times 10^5
- S_i คือสตริงที่ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็ก
- 1 \leq |S_i|
- |S_1|+|S_2|+\ldots+|S_N|\leq 3\times 10^5
- ตัวเลขอินพุตทั้งหมดเป็นจำนวนเต็ม

ตัวอย่างอินพุต 1

3
ab abc arc

ตัวอย่างเอาต์พุต 1

4

- f(S_1,S_2)=2
- f(S_1,S_3)=1
- f(S_2,S_3)=1

ดังนั้น คำตอบคือ f(S_1,S_2) + f(S_1,S_3) + f(S_2,S_3) = 4.

ตัวอย่างอินพุต 2

11
ab bb aaa bba baba babb aaaba aabbb a a b

ตัวอย่างเอาต์พุต 2

32

สำหรับสตริง x และ y ให้กำหนด f(x, y) ดังต่อไปนี้:

- f(x, y) คือความยาวของคำนำหน้าร่วมที่ยาวที่สุดของ x และ y

คุณจะได้รับสตริง N สตริง (S_1, \ldots, S_N) ที่ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็ก หาค่าของนิพจน์ต่อไปนี้:
\displaystyle \sum_{i=1}^{N-1}\sum_{j=i+1}^N f(S_i,S_j).

อินพุต

อินพุตกำหนดจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N
S_1 \ldots S_N

เอาต์พุต

พิมพ์คำตอบ

ข้อจำกัด

- 2 \leq N \leq 3\times 10^5
- S_i คือสตริงที่ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็ก
- 1 \leq |S_i|
- |S_1|+|S_2|+\ldots+|S_N|\leq 3\times 10^5
- ตัวเลขอินพุตทั้งหมดเป็นจำนวนเต็ม

ตัวอย่างอินพุต 1

3
ab abc arc

ตัวอย่างเอาต์พุต 1

4

- f(S_1,S_2)=2
- f(S_1,S_3)=1
- f(S_2,S_3)=1

ดังนั้น คำตอบคือ f(S_1,S_2) + f(S_1,S_3) + f(S_2,S_3) = 4

ตัวอย่างอินพุต 2

11
ab bb aaa bba baba babb aaaba aabbb a a b

ตัวอย่างเอาต์พุต 2

32

สำหรับสตริง x และ y กำหนด f (x, y) ดังนี้:

- f (x, y) คือความยาวของคำนำหน้าทั่วไปที่ยาวที่สุดของ x และ y

คุณได้รับสตริง N (S_1, \ ldots, S_N) ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็ก ค้นหาค่าของนิพจน์ต่อไปนี้:
\displaystyle \sum_{i=1}^{N-1}\sum_{j=i+1}^N f(S_i,S_j).

ป้อนข้อมูล

อินพุตได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N
S_1 \ldots S_N

เอาท์พุท

พิมพ์คำตอบ

ข้อ จำกัด

- 2 \leq N \leq 3\times 10^5
- S_i เป็นสตริงที่ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็ก
- 1 \leq |S_i|
- |S_1|+|S_2|+\ldots+|S_N|\leq 3\times 10^5
- หมายเลขอินพุตทั้งหมดเป็นจำนวนเต็ม

อินพุตตัวอย่าง 1

3
ab abc arc

ตัวอย่างเอาท์พุท 1

4

- f(S_1,S_2)=2
- f(S_1,S_3)=1
- f(S_2,S_3)=1

ดังนั้นคำตอบคือ f(S_1,S_2) + f(S_1,S_3) + f(S_2,S_3) = 4.

อินพุตตัวอย่าง 2

11
ab bb aaa bba baba babb aaaba aabbb a a b

ตัวอย่างเอาท์พุท 2

32


สำหรับจำนวนเต็มบวก x และ y ให้กำหนด f(x, y) ดังต่อไปนี้:

- ตีความการแทนค่าทศนิยมของ x และ y เป็นสตริงและเรียงต่อกันตามลำดับนี้เพื่อให้ได้สตริง z ค่าของ f(x, y) คือค่าของ z เมื่อตีความว่าเป็นจำนวนเต็มทศนิยม

ตัวอย่างเช่น f(3, 14) = 314 และ f(100, 1) = 1001
คุณจะได้รับลำดับของจำนวนเต็มบวก A = (A_1, \ldots, A_N) ที่มีความยาว N หาค่าของนิพจน์โมดูโล 998244353 ต่อไปนี้:
\displaystyle \sum_{i=1}^{N-1}\sum_{j=i+1}^N f(A_i,A_j).

อินพุต

อินพุตจะได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N
A_1 \ldots A_N

เอาต์พุต

พิมพ์คำตอบ

ข้อจำกัด

- 2 \leq N \leq 2 \times 10^5
- 1 \leq A_i \leq 10^9
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม
ตัวอย่างอินพุต 1

3
3 14 15

ตัวอย่างเอาต์พุต 1

2044

- f(A_1, A_2) = 314
- f(A_1, A_3) = 315
- f(A_2, A_3) = 1415

ดังนั้นคำตอบคือ f(A_1, A_2) + f(A_1, A_3) + f(A_2, A_3) = 2044

ตัวอย่างอินพุต 2

5
1001 5 1000000 100000000 100000

ตัวอย่างเอาต์พุต 2

625549048

อย่าลืมคำนวณค่าโมดูโล 998244353

สำหรับจำนวนเต็มบวก x และ y ให้กำหนด f (x, y) ดังนี้:

- ตีความการเป็นตัวแทนทศนิยมของ x และ y เป็นสตริงและต่อกันตามลำดับนี้เพื่อให้ได้สตริง z ค่าของ f (x, y) คือค่าของ z เมื่อตีความว่าเป็นจำนวนเต็มทศนิยม

ตัวอย่างเช่น f (3, 14) = 314 และ f (100, 1) = 1001
คุณจะได้รับลำดับของจำนวนเต็มบวก A = (A_1, \ ldots, A_N) ความยาว N. ค้นหาค่าของนิพจน์ต่อไปนี้โมดูโล 998244353:
\ displaystyle \ sum_ {i = 1}^{N-1} \ sum_ {j = i+1}^N f (A_i, A_j)

ป้อนข้อมูล

อินพุตได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N
A_1 \ldots A_N

เอาท์พุท

พิมพ์คำตอบ

ข้อ จำกัด

- 2 \leq N \leq 2 \times 10^5
- 1 \leq A_i \leq 10^9
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

อินพุตตัวอย่าง 1

3
3 14 15

ตัวอย่างเอาท์พุท 1

2044

- f(A_1, A_2) = 314
- f(A_1, A_3) = 315
- f(A_2, A_3) = 1415

ดังนั้นคำตอบคือ f (A_1, A_2) + f (A_1, A_3) + f(A_2, A_3) = 2044

อินพุตตัวอย่าง 2

5
1001 5 1000000 1000000000 100000

ตัวอย่างเอาท์พุท 2

625549048

ตรวจสอบให้แน่ใจว่าได้คำนวณค่าโมดูโล 998244353

สำหรับจำนวนเต็มบวก x และ y ให้กำหนด f (x, y) ดังนี้:

- ตีความการเป็นตัวแทนทศนิยมของ x และ y เป็นสตริงและต่อกันตามลำดับนี้เพื่อให้ได้สตริง z ค่าของ f (x, y) คือค่าของ z เมื่อตีความว่าเป็นจำนวนเต็มทศนิยม

ตัวอย่างเช่น f (3, 14) = 314 และ f (100, 1) = 1001
คุณจะได้รับลำดับของจำนวนเต็มบวก A = (A_1, \ldots, A_N) ความยาว N. ค้นหาค่าของนิพจน์ต่อไปนี้โมดูโล 998244353:
\displaystyle \sum_{i=1}^{N-1}\sum_{j=i+1}^N f(A_i,A_j).

ป้อนข้อมูล

อินพุตได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N
A_1 \ldots A_N

เอาท์พุท

พิมพ์คำตอบ

ข้อ จำกัด

- 2 \leq N \leq 2 \times 10^5
- 1 \leq A_i \leq 10^9
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

อินพุตตัวอย่าง 1

3
3 14 15

ตัวอย่างเอาท์พุท 1

2044

- f(A_1, A_2) = 314
- f(A_1, A_3) = 315
- f(A_2, A_3) = 1415

ดังนั้นคำตอบคือ  f(A_1, A_2) + f(A_1, A_3) + f(A_2, A_3) = 2044.

อินพุตตัวอย่าง 2

5
1001 5 1000000 1000000000 100000

ตัวอย่างเอาท์พุท 2

625549048

ตรวจสอบให้แน่ใจว่าได้คำนวณค่าโมดูโล 998244353


ผู้ใช้ AtCoder จำนวน N คนมารวมตัวกันเพื่อเล่น AtCoder RPS 2 ชื่อของผู้ใช้คนที่ i คือ S_i และอันดับของพวกเขาคือ C_i
AtCoder RPS 2 นั้นจะเล่นได้ดังนี้:

- กำหนดตัวเลข 0, 1, \dots, N - 1 ให้กับผู้ใช้ตามลำดับชื่อผู้ใช้
- ให้ T เป็นผลรวมของอันดับของผู้ใช้ N คน ผู้ใช้กำหนดหมายเลข T \bmod N ให้เป็นผู้ชนะ

พิมพ์ชื่อผู้ใช้ของผู้ชนะ

ลำดับตามพจนานุกรมคืออะไร

ลำดับตามพจนานุกรมนั้นหมายถึง "ลำดับที่คำปรากฏในพจนานุกรม" กล่าวอย่างแม่นยำยิ่งขึ้น อัลกอริทึมในการกำหนดลำดับของสตริงที่แตกต่างกันสองสตริง คือ S และ T ซึ่งประกอบด้วยอักษรภาษาอังกฤษตัวพิมพ์เล็กมีดังนี้:

ในที่นี้ "อักขระตัวที่ i ของ S" จะแสดงเป็น S_i หาก S มีขนาดเล็กกว่า T ตามตัวอักษร เราจะเขียน S \lt T และหาก S มีขนาดใหญ่กว่า เราจะเขียน S \gt T

- ให้ L เป็นความยาวของสตริงที่สั้นกว่าระหว่าง S และ T ตรวจสอบว่า S_i และ T_i ตรงกันหรือไม่สำหรับ i=1,2,\dots,L

- หากมี i ที่ทำให้ S_i \neq T_i ให้ j เป็น i ที่เล็กที่สุด เปรียบเทียบ S_j และ T_j หาก S_j มีขนาดเล็กกว่า T_j ตามตัวอักษร เราจะเขียน S \lt T มิฉะนั้น เราจะเขียน S \gt T อัลกอริทึมจะสิ้นสุดที่นี่

- หากไม่มี i ที่ทำให้ S_i \neq T_i ให้เปรียบเทียบความยาวของ S และ T หาก S สั้นกว่า T เราจะเขียน S \lt T หาก S ยาวกว่า เราจะเขียน S \gt T อัลกอริทึมจะสิ้นสุดที่นี่
อินพุต

อินพุตจะได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N
S_1 C_1
S_2 C_2
\vdots
S_N C_N

เอาต์พุต

พิมพ์คำตอบในบรรทัดเดียว

ข้อจำกัด

- 1 \leq N \leq 100
- S_i คือสตริงที่ประกอบด้วยอักษรภาษาอังกฤษตัวพิมพ์เล็กที่มีความยาวระหว่าง 3 ถึง 16 รวมทั้งสิ้น
- S_1, S_2, \dots, S_N ล้วนแยกจากกัน
- 1 \leq C_i \leq 4229
- C_i คือจำนวนเต็ม
ตัวอย่างอินพุต 1

3
takahashi 2
aoki 6
snuke 5

ตัวอย่างเอาต์พุต 1

snuke

ผลรวมของคะแนนของผู้ใช้ทั้งสามคือ 13 เมื่อจัดเรียงชื่อตามลำดับตัวอักษรจะได้ aoki, snuke, takahashi ดังนั้น aoki จึงถูกกำหนดหมายเลขเป็น 0, snuke คือ 1 และ takahashi คือ 2
เนื่องจาก 13 \bmod 3 = 1 จึงพิมพ์ snuke ซึ่งถูกกำหนดหมายเลขเป็น 1

ตัวอย่างอินพุต 2

3
takahashi 2813
takahashixx 1086
takahashix 4229

ตัวอย่างเอาต์พุต 2

takahashix

ผู้ใช้ AtCoder N ได้รวมตัวกันเพื่อเล่น AtCoder RPS 2 ชื่อของผู้ใช้คนที่ i-th คือ S_i และคะแนนของพวกเขาคือ C_i
AtCoder RPS 2 เล่นดังนี้:

- กำหนดหมายเลข 0, 1, \dots, N - 1 ให้กับผู้ใช้ตามลำดับตัวอักษรจากชื่อผู้ใช้
- ให้ T เป็นผลรวมของคะแนนของผู้ใช้ N คน ผู้ใช้ที่ถูกกำหนดหมายเลข T \bmod N เป็นผู้ชนะ

พิมพ์ชื่อผู้ใช้ที่ชนะ

ลำดับตัวอักษรคืออะไร?

ลำดับตัวอักษร หมายถึง "ลำดับที่คำปรากฏในพจนานุกรม" แม่นยำยิ่งขึ้น อัลกอริธึมในการกำหนดลำดับของสตริงสองตัว S และ T ที่ประกอบด้วยตัวอักษรภาษาอังกฤษพิมพ์เล็กเป็นดังนี้:

ที่นี่ "อักขระตัวที่ i-th ของ S" จะถูกเรียกว่า S_i ถ้า S มีลำดับตัวอักษรเล็กกว่า T เราเขียนว่า S \lt T และถ้า S ใหญ่กว่า เราเขียนว่า S \gt T

- ให้ L เป็นความยาวของสตริงที่สั้นกว่าระหว่าง S และ T ตรวจสอบว่า S_i และ T_i ตรงกันหรือไม่ เมื่อ i=1,2,\dots,L
- หากมี i ที่ทำให้ S_i \neq T_i ให้ j เป็น i ที่เล็กที่สุด เปรียบเทียบ S_j และ T_j ถ้า S_j เรียงลำดับตัวอักษรเล็กกว่า T_j ดังนั้น S \lt T ถ้าหากไม่ใช่ S \gt T อัลกอริธึมสิ้นสุดที่นี่

- ถ้าไม่มี i ที่ทำให้ S_i \neq T_i ให้เปรียบเทียบความยาวของ S และ T ถ้า S สั้นกว่า T ดังนั้น S \lt T ถ้า S ยาวกว่า S \gt T อัลกอริธึมสิ้นสุดที่นี่

Input

ข้อมูลนําเข้าส่งมาจากอินพุตมาตรฐานในรูปแบบดังต่อไปนี้:
N
S_1 C_1
S_2 C_2
\vdots
S_N C_N

Output

พิมพ์คำตอบในบรรทัดเดียว

เงื่อนไข

- 1 \leq N \leq 100
- S_i เป็นสตริงที่ประกอบด้วยตัวอักษรภาษาอังกฤษพิมพ์เล็กที่มีความยาวระหว่าง 3 และ 16 ตัวอักษร รวมเองด้วย
- S_1, S_2, \dots, S_N ทั้งหมดต่างกัน
- 1 \leq C_i \leq 4229
- C_i เป็นจำนวนเต็ม

ตัวอย่างข้อมูลนำเข้า 1

3
takahashi 2
aoki 6
snuke 5

ตัวอย่างข้อมูลส่งออก 1

snuke

ผลรวมของคะแนนของผู้ใช้ทั้งสามคน คือ 13 การเรียงลำดับชื่อของพวกเขาตามลำดับตัวอักษรจะได้ aoki, snuke, takahashi ดังนั้น aoki ถูกกำหนดหมายเลข 0, snuke เป็น 1 และ takahashi เป็น 2.
เนื่องจาก 13 \bmod 3 = 1 พิมพ์ snuke ซึ่งถูกกำหนดหมายเลข 1

ตัวอย่างข้อมูลนำเข้า 2

3
takahashi 2813
takahashixx 1086
takahashix 4229

ตัวอย่างข้อมูลส่งออก 2

takahashix


ทาคาฮาชิกำลังปลูกต้นไม้ ความสูงของมันตอนเริ่มงอกคือ 0\,\mathrm{cm} โดยนับวันที่งอกเป็นวัน 0 ความสูงจะเพิ่มขึ้น 2^i\,\mathrm{cm} ในคืนของวัน i (0 \le i)
ความสูงของทาคาฮาชิคือ H\,\mathrm{cm}
ทุกเช้า ทาคาฮาชิวัดความสูงของเขากับต้นไม้ต้นนี้ ค้นหาวันแรกที่ความสูงของต้นไม้มากกว่าความสูงของทาคาฮาชิในตอนเช้า

Input

ข้อมูลนำเข้าได้รับจาก Standard Input ในรูปแบบต่อไปนี้:
H

Output

พิมพ์จำนวนเต็มที่แสดงถึงวันแรกที่ความสูงของต้นไม้มากกว่าความสูงของทาคาฮาชิในตอนเช้า

เงื่อนไข

- 1 \leq H \leq 10^{9}
- ค่าข้อมูลนำเข้าทั้งหมดเป็นจำนวนเต็ม

ตัวอย่างข้อมูลนำเข้า 1

54

ตัวอย่างข้อมูลส่งออก 1

6

ความสูงของต้นไม้ในตอนเช้าของวัน 1, 2, 3, 4, 5, 6 จะเป็น 1\,\mathrm{cm}, 3\,\mathrm{cm}, 7\,\mathrm{cm}, 15\,\mathrm{cm}, 31\,\mathrm{cm}, 63\,\mathrm{cm} ตามลำดับ ต้นไม้สูงกว่าทาคาฮาชิในตอนเช้าวันที่ 6 ดังนั้นพิมพ์ 6

ตัวอย่างข้อมูลนำเข้า 2

7

ตัวอย่างข้อมูลส่งออก 2

4

ความสูงของต้นไม้จะเป็น 7\,\mathrm{cm} ในตอนเช้าของวัน 3 และ 15\,\mathrm{cm} ในตอนเช้าของวัน 4 ต้นไม้สูงกว่าทาคาฮาชิในตอนเช้าวันที่ 4 ดังนั้นพิมพ์ 4 หมายเหตุว่า ในตอนเช้าของวัน 3 ต้นไม้สูงเท่ากับทาคาฮาชิ แต่ไม่สูงกว่า

ตัวอย่างข้อมูลนำเข้า 3

262144

ตัวอย่างข้อมูลส่งออก 3

19

ทาคาฮาชิกำลังปลูกต้นไม้ ความสูงของมันตอนเริ่มงอกคือ 0\,\mathrm{cm} โดยนับวันที่งอกเป็นวัน 0 ความสูงจะเพิ่มขึ้น 2^i\,\mathrm{cm} ในคืนของวัน i (0 \le i)
ความสูงของทาคาฮาชิคือ H\,\mathrm{cm}
ทุกเช้า ทาคาฮาชิวัดความสูงของเขากับต้นไม้ต้นนี้ ค้นหาวันแรกที่ความสูงของต้นไม้มากกว่าความสูงของทาคาฮาชิในตอนเช้า

Input

ข้อมูลนำเข้าได้รับจาก Standard Input ในรูปแบบต่อไปนี้:
H

Output

พิมพ์จำนวนเต็มที่แสดงถึงวันแรกที่ความสูงของต้นไม้มากกว่าความสูงของทาคาฮาชิในตอนเช้า

เงื่อนไข

- 1 \leq H \leq 10^{9}
- ค่าข้อมูลนำเข้าทั้งหมดเป็นจำนวนเต็ม

ตัวอย่างInput 1

54

ตัวอย่างOutput 1

6

ความสูงของต้นไม้ในตอนเช้าของวัน 1, 2, 3, 4, 5, 6 จะเป็น 1\,\mathrm{cm}, 3\,\mathrm{cm}, 7\,\mathrm{cm}, 15\,\mathrm{cm}, 31\,\mathrm{cm}, 63\,\mathrm{cm} ตามลำดับ ต้นไม้สูงกว่าทาคาฮาชิในตอนเช้าวันที่ 6 ดังนั้นพิมพ์ 6

ตัวอย่างInput 2

7

ตัวอย่างOutput 2

4

ความสูงของต้นไม้จะเป็น 7\,\mathrm{cm} ในตอนเช้าของวัน 3 และ 15\,\mathrm{cm} ในตอนเช้าของวัน 4 ต้นไม้สูงกว่าทาคาฮาชิในตอนเช้าวันที่ 4 ดังนั้นพิมพ์ 4 หมายเหตุว่า ในตอนเช้าของวัน 3 ต้นไม้สูงเท่ากับทาคาฮาชิ แต่ไม่สูงกว่า

ตัวอย่างInput 3

262144

ตัวอย่างOutput 3

19

ทาคาฮาชิกำลังปลูกต้นไม้ ความสูงของต้นไม้ในเวลาที่งอกคือ 0\,\mathrm{cm} เมื่อพิจารณาวันที่งอกเป็นวันที่ 0 ความสูงของต้นไม้จะเพิ่มขึ้น 2^i\,\mathrm{cm} ของวัน i's กลางคืน (0 \le i)
ความสูงของทาคาฮาชิคือ H\,\mathrm{cm}

ทุกเช้า ทาคาฮาชิจะวัดความสูงโดยเปรียบเทียบกับต้นไม้ต้นนี้ หาวันแรกที่ความสูงของต้นไม้สูงกว่าความสูงของทาคาฮาชิในตอนเช้าอย่างเคร่งครัด

อินพุต

อินพุตนี้มาจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
H

เอาต์พุต

พิมพ์จำนวนเต็มที่แสดงถึงวันแรกที่ความสูงของต้นไม้สูงกว่าความสูงของทาคาฮาชิในตอนเช้า

ข้อจำกัด

- 1 \leq H \leq 10^{9}
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม
ตัวอย่างอินพุต 1

54

ตัวอย่างเอาต์พุต 1

6

ความสูงของต้นไม้ในตอนเช้าของวันที่ 1, 2, 3, 4, 5, 6 จะเป็น 1\,\mathrm{cm}, 3\,\mathrm{cm}, 7\,\mathrm{cm}, 15\,\mathrm{cm}, 31\,\mathrm{cm}, 63\,\mathrm{cm} ตามลำดับ ต้นไม้จะสูงกว่า Takahashi ในตอนเช้าของวันที่ 6 ดังนั้นให้พิมพ์ 6

ตัวอย่างอินพุต 2

7

ตัวอย่างเอาต์พุต 2

4

ความสูงของต้นไม้จะเท่ากับ 7\,\mathrm{cm} ในตอนเช้าของวันที่ 3 และ 15\,\mathrm{cm} ในตอนเช้าของวันที่ 4 ต้นไม้จะสูงกว่า Takahashi ในตอนเช้าของวันที่ 4 ดังนั้นให้พิมพ์ 4 โปรดทราบว่าในตอนเช้าของวันที่ 3 ต้นไม้จะสูงเท่ากับ Takahashi แต่ไม่สูงกว่า

ตัวอย่างอินพุต 3

262144

ตัวอย่างเอาต์พุต 3

19


ทาคาฮาชิและอาโอกิกำลังเล่นเกมโดยใช้ไพ่ N ใบ โดยด้านหน้าของไพ่ใบที่ i เขียนว่า A_i และด้านหลังเขียนว่า B_i ในตอนแรก ไพ่ N ใบจะถูกวางลงบนโต๊ะ โดยให้ทาคาฮาชิเล่นก่อน ผู้เล่นทั้งสองคนจะผลัดกันเล่นดังต่อไปนี้:

- เลือกไพ่ 1 คู่จากโต๊ะโดยให้ตัวเลขด้านหน้าเหมือนกันหรือด้านหลังเหมือนกัน จากนั้นนำไพ่ 2 ใบนี้ออกจากโต๊ะ หากไม่มีไพ่คู่ดังกล่าว ผู้เล่นจะไม่สามารถเล่นได้

ผู้เล่นที่ไม่สามารถเล่นได้ก่อนจะแพ้ และผู้เล่นอีกคนจะชนะ
กำหนดว่าใครจะชนะหากผู้เล่นทั้งสองเล่นได้ดีที่สุด

อินพุต

อินพุตจะได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N
A_1 B_1
A_2 B_2
\vdots
A_N B_N

เอาต์พุต

พิมพ์ Takahashi หาก Takahashi ชนะเมื่อผู้เล่นทั้งสองเล่นได้อย่างเหมาะสมที่สุด และ Aoki ในกรณีอื่น

ข้อจำกัด

- 1 \leq N \leq 18
- 1 \leq A_i, B_i \leq 10^9
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

ตัวอย่างอินพุต 1

5
1 9
2 5
4 9
1 4
2 5

ตัวอย่างเอาต์พุต 1

Aoki

หาก Takahashi เอาออกก่อน

-
ไพ่ใบแรกและใบที่สาม: Aoki สามารถชนะได้โดยเอาไพ่ใบที่สองและใบที่ห้าออก

-
ไพ่ใบแรกและใบที่สี่: Aoki สามารถชนะได้โดยเอาไพ่ใบที่สองและใบที่ห้าออก
-
ไพ่ใบที่สองและใบที่ห้า: อาโอกิสามารถชนะได้โดยการเอาไพ่ใบแรกและใบที่สามออก

นี่คือไพ่สามคู่เดียวที่ทาคาฮาชิสามารถเอาออกได้ในตาแรก และอาโอกิสามารถชนะได้ในทุกกรณี ดังนั้นคำตอบคืออาโอกิ

ตัวอย่างอินพุต 2

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

ตัวอย่างเอาต์พุต 2

Takahashi

Takahashi และ Aoki กำลังเล่นเกมโดยใช้การ์ด N ด้านหน้าของการ์ด i-th มี A_i เขียนไว้และด้านหลังมี B_i เขียนไว้บนมัน ในขั้นต้นการ์ด N จะถูกวางไว้บนโต๊ะ เมื่อทาคาฮาชิไปก่อนผู้เล่นสองคนผลัดกันทำการดำเนินการต่อไปนี้:

- เลือกการ์ดคู่หนึ่งจากตารางเพื่อให้ตัวเลขที่ด้านหน้าของพวกเขาเหมือนกันหรือตัวเลขที่ด้านหลังของพวกเขาจะเหมือนกันและลบการ์ดสองใบนี้ออกจากตาราง หากไม่มีการ์ดคู่ดังกล่าวผู้เล่นไม่สามารถดำเนินการได้

ผู้เล่นที่เป็นคนแรกที่ไม่สามารถทำการผ่าตัดได้และผู้เล่นคนอื่นชนะ
กำหนดว่าใครจะชนะถ้าผู้เล่นทั้งสองเล่นได้ดีที่สุด

ป้อนข้อมูล

อินพุตได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N
A_1 B_1
A_2 B_2
\vdots
A_N B_N

เอาท์พุท

พิมพ์ Takahashi ถ้า Takahashi ชนะเมื่อผู้เล่นทั้งสองเล่นได้ดีที่สุดและ Aoki เป็นอย่างอื่น

ข้อ จำกัด

- 1 \leq N \leq 18
- 1 \leq A_i, B_i \leq 10^9
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

อินพุตตัวอย่าง 1

5
1 9
2 5
4 9
1 4
2 5

ตัวอย่างเอาท์พุท 1

Aoki

ถ้าทาคาฮาชิออกเป็นครั้งแรก

-
การ์ดใบแรกและใบที่สาม: Aoki สามารถชนะได้โดยการลบไพ่ใบที่สองและห้า

-
การ์ดใบแรกและใบที่สี่: Aoki สามารถชนะได้โดยการลบไพ่ใบที่สองและห้า

-
การ์ดใบที่สองและห้า: Aoki สามารถชนะได้โดยการลบไพ่ใบแรกและที่สาม

เหล่านี้เป็นไพ่เพียงสามคู่ที่ทาคาฮาชิสามารถลบออกได้ในการย้ายครั้งแรกของเขาและ Aoki สามารถชนะได้ในทุกกรณี ดังนั้นคำตอบคือ Aoki

อินพุตตัวอย่าง 2

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

ตัวอย่างเอาท์พุท 2

Takahashi

ทาคาฮาชิและอาโอกิกำลังเล่นเกมโดยใช้ไพ่ N ใบ โดยด้านหน้าของไพ่ใบที่ i เขียนว่า A_i และด้านหลังเขียนว่า B_i ในตอนแรก ไพ่ N ใบจะถูกวางลงบนโต๊ะ โดยให้ทาคาฮาชิเล่นก่อน ผู้เล่นทั้งสองคนจะผลัดกันเล่นดังต่อไปนี้:

- เลือกไพ่ 1 คู่จากโต๊ะโดยให้ตัวเลขด้านหน้าเหมือนกันหรือด้านหลังเหมือนกัน จากนั้นนำไพ่ 2 ใบนี้ออกจากโต๊ะ หากไม่มีไพ่คู่ดังกล่าว ผู้เล่นจะไม่สามารถเล่นได้

ผู้เล่นที่ไม่สามารถเล่นได้ก่อนจะแพ้ และผู้เล่นอีกคนจะชนะ

กำหนดว่าใครจะชนะหากผู้เล่นทั้งสองเล่นได้ดีที่สุด
อินพุต

อินพุตจะได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N
A_1 B_1
A_2 B_2
\vdots
A_N B_N

เอาต์พุต

พิมพ์ Takahashi หาก Takahashi ชนะเมื่อผู้เล่นทั้งสองเล่นได้อย่างเหมาะสมที่สุด และ Aoki ในกรณีอื่น

ข้อจำกัด

- 1 \leq N \leq 18
- 1 \leq A_i, B_i \leq 10^9
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

ตัวอย่างอินพุต 1

5
1 9
2 5
4 9
1 4
2 5

ตัวอย่างเอาต์พุต 1

Aoki

หาก Takahashi เอาออกก่อน

-
ไพ่ใบแรกและใบที่สาม: Aoki สามารถชนะได้โดยเอาไพ่ใบที่สองและใบที่ห้าออก

-
ไพ่ใบแรกและใบที่สี่: Aoki สามารถชนะได้โดยเอาไพ่ใบที่สองและใบที่ห้าออก
-
ไพ่ใบที่สองและใบที่ห้า: อาโอกิสามารถชนะได้โดยการเอาไพ่ใบแรกและใบที่สามออก

นี่คือไพ่สามคู่เดียวที่ทาคาฮาชิสามารถเอาออกได้ในตาแรก และอาโอกิสามารถชนะได้ในทุกกรณี ดังนั้นคำตอบคืออาโอกิ

ตัวอย่างอินพุต 2

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

ตัวอย่างเอาต์พุต 2

ทาคาฮาชิ


ทาคาฮาชิมีการ์ด N ใบจากเกมไพ่ "AtCoder Magics" ไพ่ใบที่ i จะเรียกว่าไพ่ i การ์ดแต่ละใบมีพารามิเตอร์สองอย่าง: ความแข็งแกร่งและต้นทุน การ์ด i มีความแข็งแกร่ง A_i และราคา C_i
เขาไม่ชอบไพ่ที่อ่อนแอ ดังนั้นเขาจะทิ้งมัน โดยเฉพาะอย่างยิ่งเขาจะทําซ้ําการดําเนินการต่อไปนี้จนกว่าจะไม่สามารถดําเนินการได้อีกต่อไป:

- เลือกไพ่สองใบ x และ y เพื่อให้ A_x > A_y และ C_x < C_y ทิ้งการ์ด y

สามารถพิสูจน์ได้ว่าชุดการ์ดที่เหลืออยู่เมื่อไม่สามารถดําเนินการได้อีกต่อไปนั้นถูกกําหนดโดยไม่ซ้ํากัน ค้นหาการ์ดชุดนี้

อินพุต

อินพุตจะได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N
A_1 C_1
A_2 C_2
\vdots
A_N C_N

ผลิตภัณฑ์

ให้มีการ์ด i_1, i_2, \dots, i_m เหลืออยู่ m ใบ ตามลำดับจากน้อยไปมาก พิมพ์ในรูปแบบต่อไปนี้:
m
i_1 i_2 \cdots i_m

ข้อจํากัด

- 2 \leq N \leq 2 \times 10^5
- 1 \leq A_i, C_i \leq 10^9
- A_1, A_2, dots ,A_N ต่างกันทั้งหมด
- C_1, C_2, dots ,C_N ต่างกันทั้งหมด
- ค่าอินพุตทั้งหมดเป็นจํานวนเต็ม

ตัวอย่างอินพุต 1

3
2 4
1 1
3 2

ตัวอย่างเอาต์พุต 1

2
2 3

เมื่อมุ่งเน้นไปที่การ์ด 1 และ 3 เรามี A_1 < A_3 และ C_1 > C_3 ดังนั้นจึงสามารถทิ้งการ์ด 1 ได้
ไม่สามารถดําเนินการเพิ่มเติมได้ ณ จุดนี้ การ์ด 2 และ 3 ยังคงอยู่ ดังนั้นให้พิมพ์ออกมา

ตัวอย่างอินพุต 2

5
1 1
10 2
100 3
1000 4
10000 5

ตัวอย่างเอาต์พุต 2

5
1 2 3 4 5

ในกรณีนี้ จะไม่สามารถทิ้งการ์ดได้

ตัวอย่างอินพุต 3

6
32 101
65 78
2 29
46 55
103 130
52 40

ตัวอย่างเอาต์พุต 3

4
2 3 5 6

ทาคาฮาชิมีไพ่ N ใบจากเกมไพ่ "AtCoder Magics" ไพ่ใบที่ i จะเรียกว่าไพ่ i แต่ละใบมีพารามิเตอร์ 2 อย่าง คือ ความแข็งแกร่งและต้นทุน ไพ่ใบที่ i มีความแข็งแกร่ง A_i และต้นทุน C_i
ทาคาฮาชิไม่ชอบไพ่ที่อ่อนแอ ดังนั้นจึงทิ้งไพ่ใบนั้นไป กล่าวคือ เขาจะทำซ้ำการดำเนินการต่อไปนี้จนกว่าจะดำเนินการไม่ได้อีกต่อไป:

- เลือกไพ่ x และ y สองใบ โดยที่ A_x > A_y และ C_x < C_y ทิ้งไพ่ใบที่ y

สามารถพิสูจน์ได้ว่าชุดไพ่ที่เหลือเมื่อดำเนินการไม่ได้นั้นถูกกำหนดอย่างเฉพาะเจาะจง หาชุดไพ่นี้

อินพุต

อินพุตกำหนดจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N
A_1 C_1
A_2 C_2
\vdots
A_N C_N

เอาต์พุต

ให้มีไพ่ที่เหลือ m ใบ ได้แก่ ไพ่ i_1, i_2, \dots, i_m เรียงตามลำดับจากน้อยไปมาก พิมพ์สิ่งเหล่านี้ในรูปแบบต่อไปนี้:
m
i_1 i_2 \cdots i_m

ข้อจำกัด

- 2 \leq N \leq 2 \times 10^5
- 1 \leq A_i, C_i \leq 10^9
- A_1, A_2, \dots ,A_N ล้วนแยกจากกัน
- C_1, C_2, \dots ,C_N ล้วนแยกจากกัน
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

ตัวอย่างอินพุต 1

3
2 4
1 1
3 2

ตัวอย่างเอาต์พุต 1

2
2 3

เมื่อเน้นที่การ์ด 1 และ 3 เราจะได้ A_1 < A_3 และ C_1 > C_3 ดังนั้นจึงสามารถทิ้งการ์ด 1 ได้
ไม่สามารถดำเนินการใดๆ เพิ่มเติมได้ ณ จุดนี้ การ์ด 2 และ 3 ยังคงอยู่ ดังนั้นให้พิมพ์ออกมา
ตัวอย่างอินพุต 2

5
1 1
10 2
100 3
1000 4
10000 5

ตัวอย่างเอาต์พุต 2

5
1 2 3 4 5

ในกรณีนี้ ไม่สามารถทิ้งการ์ดได้

ตัวอย่างอินพุต 3

6
32 101
65 78
2 29
46 55
103 130
52 40

ตัวอย่างเอาต์พุต 3

4
2 3 5 6

ทาคาฮาชิมีการ์ด N ใบจากเกมการ์ด "AtCoder Magics" การ์ดใบที่ i-th จะถูกเรียกว่าการ์ด i การ์ดแต่ละใบมีสองพารามิเตอร์คือ พลังและค่าใช้จ่าย การ์ด i มีพลังเท่ากับ A_i และค่าใช้จ่ายเท่ากับ C_i
เขาไม่ชอบการ์ดที่อ่อนแอ ดังนั้นเขาจะทิ้งมัน โดยเฉพาะเขาจะทำการดำเนินการต่อไปนี้ซ้ำ ๆ จนกว่าจะไม่สามารถทำได้:

- เลือกการ์ดสองใบ x และ y โดยที่ A_x > A_y และ C_x < C_y ทิ้งการ์ด y

สามารถพิสูจน์ได้ว่าเซตของการ์ดที่เหลือเมื่อการดำเนินการไม่สามารถทำได้อีกนั้นถูกกำหนดขึ้นโดยเฉพาะ ค้นหาเซตของการ์ดเหล่านี้

Input

อินพุตจะได้รับจาก Standard Input ในรูปแบบต่อไปนี้:
N
A_1 C_1
A_2 C_2
\vdots
A_N C_N

Output

ให้มีการ์ดที่เหลืออยู่ m ใบ การ์ด i_1, i_2, \dots, i_m เรียงตามลำดับจากน้อยไปมาก พิมพ์สิ่งเหล่านี้ในรูปแบบต่อไปนี้:
m
i_1 i_2 \cdots i_m

เงื่อนไข

- 2 \leq N \leq 2 \times 10^5
- 1 \leq A_i, C_i \leq 10^9
- A_1, A_2, \dots ,A_N ทั้งหมดไม่ซ้ำกัน
- C_1, C_2, \dots ,C_N ทั้งหมดไม่ซ้ำกัน
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

ตัวอย่างInput 1

3
2 4
1 1
3 2

ตัวอย่างOutput 1

2
2 3

การมุ่งเน้นไปที่การ์ด 1 และ 3, เรามี A_1 < A_3 และ C_1 > C_3 ดังนั้นการ์ด 1 สามารถทิ้งได้
ไม่สามารถทำการดำเนินการเพิ่มเติมได้อีก ณ จุดนี้ การ์ด 2 และ 3 เหลืออยู่ ดังนั้นให้พิมพ์มัน

ตัวอย่างInput 2

5
1 1
10 2
100 3
1000 4
10000 5

ตัวอย่างOutput 2

5
1 2 3 4 5

ในกรณีนี้ ไม่มีการ์ดใดที่สามารถทิ้งได้

ตัวอย่างInput 3

6
32 101
65 78
2 29
46 55
103 130
52 40

ตัวอย่างOutput 3

4
2 3 5 6


รูปแบบของวอลเปเปอร์ AtCoder สามารถแสดงบนระนาบ xy ได้ดังนี้:

-
ระนาบถูกแบ่งด้วยเส้น 3 ประเภทดังนี้:

-
x = n (โดยที่ n เป็นจำนวนเต็ม)

-
y = n (โดยที่ n เป็นจำนวนคู่)

-
x + y = n (โดยที่ n เป็นจำนวนคู่)

-
แต่ละภูมิภาคถูกระบายด้วยสีดำหรือสีขาว ภูมิภาคใดๆ ที่ติดกันตามเส้นเหล่านี้จะถูกระบายด้วยสีที่ต่างกัน

-
ภูมิภาคที่มี (0.5, 0.5) ถูกระบายด้วยสีดำ

รูปต่อไปนี้แสดงส่วนหนึ่งของรูปแบบ

คุณได้รับจำนวนเต็ม A, B, C, D พิจารณารูปสี่เหลี่ยมที่ด้านขนานกับแกน x และ y โดยมีจุดยอดล่างซ้ายที่ (A, B) และจุดยอดบนขวาที่ (C, D) คำนวณพื้นที่ของภูมิภาคที่ถูกระบายด้วยสีดำภายในรูปสี่เหลี่ยมนี้ และพิมพ์ค่าพื้นที่นั้นคูณสอง สามารถพิสูจน์ได้ว่าค่าผลลัพธ์จะเป็นจำนวนเต็ม

อินพุต

อินพุตได้รับจาก Standard Input ในรูปแบบต่อไปนี้:
A B C D

เอาท์พุต

พิมพ์คำตอบในบรรทัดเดียว

ข้อจำกัด

- -10^9 \leq A, B, C, D \leq 10^9
- A < C และ B < D.
- ค่าของอินพุตทั้งหมดเป็นจำนวนเต็ม

ตัวอย่างอินพุต 1

0 0 3 3

ตัวอย่างเอาท์พุต 1

10

เราต้องหาพื้นที่ของบริเวณสีดำภายในรูปสี่เหลี่ยมดังนี้:

พื้นที่คือ 5 ดังนั้นพิมพ์ค่านั้นคูณสอง: 10

ตัวอย่างอินพุต 2

-1 -2 1 3

ตัวอย่างเอาท์พุต 2

11

พื้นที่คือ 5.5 ซึ่งไม่ใช่จำนวนเต็ม แต่ค่าผลลัพธ์เป็นจำนวนเต็ม

ตัวอย่างอินพุต 3

-1000000000 -1000000000 1000000000 1000000000

ตัวอย่างเอาท์พุต 3

4000000000000000000

นี่คือกรณีของสี่เหลี่ยมที่ใหญ่ที่สุด โดยที่ผลลัพธ์ยังคงอยู่ในจำนวนเต็มที่ลงนาม 64 บิต

รูปแบบของวอลเปเปอร์ของ AtCoder สามารถแสดงบนระนาบ xy ได้ดังนี้:

-
ระนาบจะถูกแบ่งด้วยเส้นสามประเภทดังต่อไปนี้:

-
x = n (โดยที่ n เป็นจำนวนเต็ม)

-
y = n (โดยที่ n เป็นจำนวนคู่)

-
x + y = n (โดยที่ n เป็นจำนวนคู่)

-
แต่ละภูมิภาคจะถูกทาสีดำหรือสีขาว ภูมิภาคใดๆ สองภูมิภาคที่อยู่ติดกันตามเส้นใดเส้นหนึ่งจะถูกทาด้วยสีที่ต่างกัน

-
ภูมิภาคที่มี (0.5, 0.5) จะถูกทาสีดำ

รูปภาพต่อไปนี้แสดงส่วนหนึ่งของรูปแบบ

คุณได้รับจำนวนเต็ม A, B, C, D ลองพิจารณารูปสี่เหลี่ยมผืนผ้าที่มีด้านขนานกับแกน x และ y โดยมีจุดยอดซ้ายล่างอยู่ที่ (A, B) และจุดยอดขวาบนอยู่ที่ (C, D) คำนวณพื้นที่ของภูมิภาคที่ทาสีดำภายในรูปสี่เหลี่ยมผืนผ้านี้ แล้วพิมพ์พื้นที่นั้นสองครั้ง สามารถพิสูจน์ได้ว่าค่าเอาต์พุตจะเป็นจำนวนเต็ม

อินพุต

อินพุตกำหนดจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
A B C D

เอาต์พุต

พิมพ์คำตอบในบรรทัดเดียว

เงื่อนไข

- -10^9 \leq A, B, C, D \leq 10^9
- A < C และ B < D
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

ตัวอย่างอินพุต 1

0 0 3 3

ตัวอย่างเอาต์พุต 1

10

เราจะหาพื้นที่ของส่วนที่ทาสีดำภายในสี่เหลี่ยมต่อไปนี้:

พื้นที่คือ 5 ดังนั้นให้พิมพ์ค่านั้นสองครั้ง: 10

ตัวอย่างอินพุต 2

-1 -2 1 3

ตัวอย่างเอาต์พุต 2

11

พื้นที่คือ 5.5 ซึ่งไม่ใช่จำนวนเต็ม แต่ค่าเอาต์พุตเป็นจำนวนเต็ม
ตัวอย่างอินพุต 3

-1000000000 -1000000000 1000000000 1000000000

ตัวอย่างเอาต์พุต 3

4000000000000000000

นี่เป็นกรณีของสี่เหลี่ยมผืนผ้าที่ใหญ่ที่สุด ซึ่งเอาต์พุตยังคงพอดีกับจำนวนเต็มที่มีเครื่องหมาย 64 บิต

รูปแบบของวอลล์เปเปอร์ของ Atcoder สามารถแสดงบนระนาบ xy ได้ดังนี้:

-
เครื่องบินถูกหารด้วยบรรทัดสามประเภทต่อไปนี้:

-
x = n (โดยที่ n เป็นจำนวนเต็ม)

-
y = n (โดยที่ n คือหมายเลขคู่)

-
x + y = n (โดยที่ n คือหมายเลขคู่)

-
แต่ละภูมิภาคทาสีขาวดำ สองภูมิภาคใด ๆ ที่อยู่ติดกับหนึ่งในบรรทัดเหล่านี้จะถูกทาสีในสีที่แตกต่างกัน

-
ภูมิภาคที่มี (0.5, 0.5) ทาสีดำ

รูปต่อไปนี้แสดงส่วนหนึ่งของรูปแบบ

คุณจะได้รับจำนวนเต็ม A, B, C, D. พิจารณาสี่เหลี่ยมผืนผ้าที่มีด้านข้างขนานกับแกน x และ y โดยมีจุดสุดยอดด้านล่างซ้ายที่ (A, B) และจุดสุดยอดด้านบนขวาที่ (C, D). คำนวณพื้นที่ของภูมิภาคที่ทาสีดำภายในสี่เหลี่ยมผืนผ้านี้และพิมพ์สองครั้งพื้นที่นั้น
สามารถพิสูจน์ได้ว่าค่าเอาต์พุตจะเป็นจำนวนเต็ม

ป้อนข้อมูล

อินพุตได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
A B C D

เอาท์พุท

พิมพ์คำตอบบนบรรทัดเดียว

ข้อ จำกัด

- -10^9 \leq A, B, C, D \leq 10^9
- A < C and B < D.
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

อินพุตตัวอย่าง 1

0 0 3 3

ตัวอย่างเอาท์พุท 1

10

เราต้องหาพื้นที่ของพื้นที่ทาสีดำภายในสี่เหลี่ยมต่อไปนี้:

พื้นที่คือ 5 ดังนั้นพิมพ์สองครั้งที่ค่า: 10.

อินพุตตัวอย่าง 2

-1 -2 1 3

ตัวอย่างเอาท์พุท 2

11

พื้นที่คือ 5.5 ซึ่งไม่ใช่จำนวนเต็ม แต่ค่าเอาต์พุตเป็นจำนวนเต็ม

อินพุตตัวอย่าง 3

-1000000000 -1000000000 1000000000 1000000000

ตัวอย่างเอาท์พุท 3

4000000000000000000

นี่เป็นกรณีที่มีสี่เหลี่ยมที่ใหญ่ที่สุดซึ่งเอาต์พุตยังคงพอดีกับจำนวนเต็ม 64 บิตที่ลงนาม


นี่เป็นปัญหาเชิงโต้ตอบ (ซึ่งโปรแกรมของคุณจะโต้ตอบกับผู้ตัดสินผ่านอินพุตและเอาต์พุต)
คุณจะได้รับจำนวนเต็มบวก N และจำนวนเต็ม L และ R ที่ทำให้ 0 \leq L \leq R < 2^N ผู้ตัดสินมีลำดับที่ซ่อนอยู่ A = (A_0, A_1, \dots, A_{2^N-1}) ซึ่งประกอบด้วยจำนวนเต็มระหว่าง 0 ถึง 99 รวม
เป้าหมายของคุณคือหาเศษที่เหลือเมื่อ A_L + A_{L+1} + \dots + A_R หารด้วย 100 อย่างไรก็ตาม คุณไม่สามารถทราบค่าขององค์ประกอบในลำดับ A โดยตรงได้ แทนที่จะทำเช่นนั้น คุณสามารถถามคำถามต่อไปนี้กับผู้ตัดสินได้:

- เลือกจำนวนเต็มที่ไม่เป็นลบ i และ j ที่ทำให้ 2^i(j+1) \leq 2^N ให้ l = 2^i j และ r = 2^i (j+1) - 1 ถามหาเศษเหลือเมื่อ A_l + A_{l+1} + \dots + A_r หารด้วย 100

ให้ m เป็นจำนวนคำถามขั้นต่ำที่จำเป็นในการกำหนดเศษเหลือเมื่อ A_L + A_{L+1} + \dots + A_R หารด้วย 100 สำหรับลำดับ A ใดๆ คุณต้องค้นหาเศษเหลือนี้ภายใน m คำถาม

อินพุตและเอาต์พุต

นี่เป็นปัญหาเชิงโต้ตอบ (ซึ่งโปรแกรมของคุณโต้ตอบกับผู้ตัดสินผ่านอินพุตและเอาต์พุต)
ก่อนอื่น อ่านจำนวนเต็ม N, L และ R จากอินพุตมาตรฐาน:
N L R

จากนั้น ถามคำถามซ้ำจนกว่าคุณจะสามารถกำหนดเศษเหลือได้เมื่อ A_L + A_{L+1} + \dots + A_R หารด้วย 100 คำถามแต่ละข้อควรพิมพ์ในรูปแบบต่อไปนี้:
? i j

ในที่นี้ i และ j ต้องเป็นไปตามเงื่อนไขต่อไปนี้:

- i และ j เป็นจำนวนเต็มที่ไม่เป็นลบ
- 2^i(j+1) \leq 2^N

คำตอบของคำถามจะอยู่ในรูปแบบต่อไปนี้จากอินพุตมาตรฐาน:

T

ในที่นี้ T คือคำตอบของคำถาม ซึ่งเป็นเศษเหลือเมื่อ A_l + A_{l+1} + \dots + A_r หารด้วย 100 โดยที่ l = 2^i j และ r = 2^i (j+1) - 1
หาก i และ j ไม่เป็นไปตามเงื่อนไข หรือหากจำนวนคำถามเกิน m ข้อ T จะเป็น -1
หากผู้ตัดสินคืนค่า -1 โปรแกรมของคุณถือว่าไม่ถูกต้อง ในกรณีนี้ ให้ยุติโปรแกรมทันที เมื่อคุณได้กำหนดเศษที่เหลือเมื่อ A_L + A_{L+1} + \dots + A_R หารด้วย 100 แล้ว ให้พิมพ์เศษที่เหลือ S ในรูปแบบต่อไปนี้และยุติโปรแกรมทันที:
! S

อินพุตและเอาต์พุต

นี่เป็นปัญหาเชิงโต้ตอบ (ซึ่งโปรแกรมของคุณโต้ตอบกับผู้ตัดสินผ่านอินพุตและเอาต์พุต)
ก่อนอื่น อ่านจำนวนเต็ม N, L และ R จากอินพุตมาตรฐาน:
N L R

จากนั้น ถามคำถามซ้ำจนกว่าคุณจะสามารถกำหนดเศษที่เหลือเมื่อ A_L + A_{L+1} + \dots + A_R หารด้วย 100 คำถามแต่ละข้อควรพิมพ์ในรูปแบบต่อไปนี้:
? i j

ในที่นี้ i และ j ต้องเป็นไปตามข้อกำหนดต่อไปนี้:

- i และ j เป็นจำนวนเต็มที่ไม่เป็นลบ - 2^i(j+1) \leq 2^N

คำตอบของคำถามจะอยู่ในรูปแบบต่อไปนี้จากอินพุตมาตรฐาน:
T

ในที่นี้ T คือคำตอบของคำถาม ซึ่งเป็นเศษเหลือเมื่อ A_l + A_{l+1} + \dots + A_r หารด้วย 100 โดยที่ l = 2^i j และ r = 2^i (j+1) - 1
หาก i และ j ไม่เป็นไปตามเงื่อนไข หรือหากจำนวนคำถามเกิน m ดังนั้น T จะเป็น -1
หากผู้ตัดสินคืนค่า -1 โปรแกรมของคุณถือว่าไม่ถูกต้องแล้ว ในกรณีนี้ ให้ยุติโปรแกรมทันที
เมื่อคุณได้กำหนดเศษเหลือเมื่อ A_L + A_{L+1} + \dots + A_R หารด้วย 100 แล้ว ให้พิมพ์เศษเหลือ S ในรูปแบบต่อไปนี้และยุติโปรแกรมทันที:
! S

ข้อจำกัด

- 1 \leq N \leq 18
- 0 \leq L \leq R \leq 2^N - 1
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

นี่เป็นปัญหาแบบโต้ตอบ (ที่โปรแกรมของคุณโต้ตอบกับผู้พิพากษาผ่านอินพุตและเอาต์พุต)
คุณจะได้รับจํานวนเต็มบวก N และจํานวนเต็ม L และ R เพื่อให้ 0 \leq \L leq R < 2^N ผู้พิพากษามีลําดับที่ซ่อนอยู่ A = (A_0, A_1, \dots, A_{2^N-1}) ซึ่งประกอบด้วยจํานวนเต็มระหว่าง 0 ถึง 99 รวม
เป้าหมายของคุณคือหาเศษเมื่อ A_L + A_{L+1} +\ dots + A_R หารด้วย 100 อย่างไรก็ตาม คุณไม่สามารถทราบค่าขององค์ประกอบในลําดับ A ได้โดยตรง คุณสามารถถามคําถามต่อไปนี้กับผู้พิพากษาแทน:

- เลือกจํานวนเต็มที่ไม่ใช่ลบ i และ j เพื่อให้ 2^i(j+1) \leq 2^N ให้ l = 2^i j และ r = 2^i (j+1) - 1 ขอส่วนที่เหลือเมื่อ A_l + A_{l+1} + \dots + A_r หารด้วย 100

ให้ m เป็นจํานวนคําถามขั้นต่ําที่จําเป็นในการกําหนดส่วนที่เหลือเมื่อ A_L + A_{L+1} +\dots + A_R หารด้วย 100 สําหรับลําดับ A ใด ๆ คุณต้องหาส่วนที่เหลือนี้ภายใน m คําถาม

อินพุตและเอาต์พุต

นี่เป็นปัญหาแบบโต้ตอบ (ที่โปรแกรมของคุณโต้ตอบกับผู้พิพากษาผ่านอินพุตและเอาต์พุต)
ขั้นแรก ให้อ่านจํานวนเต็ม N, L และ R จากอินพุตมาตรฐาน:
N L R

จากนั้นถามคําถามซ้ําจนกว่าคุณจะสามารถกําหนดส่วนที่เหลือได้เมื่อ A_L + A_{L+1} + \dots + A_R หารด้วย 100 คําถามแต่ละข้อควรพิมพ์ในรูปแบบต่อไปนี้:
? i j

ในที่นี้ i และ j ต้องเป็นไปตามข้อจํากัดต่อไปนี้:

- i และ j เป็นจํานวนเต็มที่ไม่เป็นลบ
- 2^i(j+1) ≤ 2^N

คําตอบสําหรับคําถามจะได้รับในรูปแบบต่อไปนี้จาก Standard Input:
T

ในที่นี้ T คือคําตอบของคําถามซึ่งเป็นส่วนที่เหลือเมื่อ A_L + A_{L+1} +\dots + A_R หารด้วย 100 โดยที่ l = 2^i j และ r = 2^i (j+1) - 1
หาก i และ j ไม่เป็นไปตามข้อจํากัด หรือหากจํานวนคําถามเกิน m T จะเป็น -1
หากผู้ตัดสินกลับมา -1 แสดงว่าโปรแกรมของคุณถือว่าไม่ถูกต้องแล้ว ในกรณีนี้ ให้ยุติโปรแกรมทันที
เมื่อคุณกําหนดส่วนที่เหลือเมื่อ A_L + A_{L+1} + \dots + A_R หารด้วย 100 ให้พิมพ์ส่วนที่เหลือ S ในรูปแบบต่อไปนี้และยุติโปรแกรมทันที:
! S

อินพุตและเอาต์พุต

นี่เป็นปัญหาแบบโต้ตอบ (ที่โปรแกรมของคุณโต้ตอบกับผู้พิพากษาผ่านอินพุตและเอาต์พุต)
ขั้นแรก ให้อ่านจํานวนเต็ม N, L และ R จากอินพุตมาตรฐาน:
N L R

จากนั้นถามคําถามซ้ําจนกว่าคุณจะสามารถกําหนดส่วนที่เหลือได้เมื่อ A_L + A_{L+1} +\dots + A_R หารด้วย 100 คําถามแต่ละข้อควรพิมพ์ในรูปแบบต่อไปนี้:
? i j

ในที่นี้ i และ j ต้องเป็นไปตามข้อจํากัดต่อไปนี้:

- i และ j เป็นจํานวนเต็มที่ไม่เป็นลบ
- 2^i(j+1) \leq 2^N

คําตอบสําหรับคําถามจะได้รับในรูปแบบต่อไปนี้จาก Standard Input:
T

ในที่นี้ T คือคําตอบของคําถามซึ่งเป็นส่วนที่เหลือเมื่อ A_l + A_{l+1} +\dots + A_r หารด้วย 100 โดยที่ l = 2^i j และ r = 2^i (j+1) - 1
หาก i และ j ไม่เป็นไปตามข้อจํากัด หรือหากจํานวนคําถามเกิน m T จะเป็น -1
หากผู้ตัดสินกลับมา -1 แสดงว่าโปรแกรมของคุณถือว่าไม่ถูกต้องแล้ว ในกรณีนี้ ให้ยุติโปรแกรมทันที
เมื่อคุณกําหนดส่วนที่เหลือเมื่อ A_L + A_{L+1} +\dots + A_R หารด้วย 100 ให้พิมพ์ส่วนที่เหลือ S ในรูปแบบต่อไปนี้และยุติโปรแกรมทันที:
! S

ข้อจํากัด

- 1 \leq N \leq 18
- 0 \leq L \leq R \leq 2^N - 1
- ค่าอินพุตทั้งหมดเป็นจํานวนเต็ม


คุณจะได้รับลำดับ A=(A_1,A_2,\dots,A_N) ที่มีความยาว N และลำดับ B=(B_1,B_2,\dots,B_M) ที่มีความยาว M ในที่นี้ องค์ประกอบทั้งหมดของ A และ B ต่างกัน กำหนดว่าลำดับ C=(C_1,C_2,\dots,C_{N+M}) ที่เกิดขึ้นจากการเรียงลำดับองค์ประกอบทั้งหมดของ A และ B ตามลำดับจากน้อยไปมาก มีองค์ประกอบที่ต่อเนื่องกันสององค์ประกอบที่ปรากฏใน A หรือไม่

อินพุต

อินพุตจะได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N M
A_1 A_2 \dots A_N
B_1 B_2 \dots B_M

เอาต์พุต

หาก C มีองค์ประกอบที่ต่อเนื่องกันสององค์ประกอบที่ปรากฏใน A ให้พิมพ์ Yes; มิฉะนั้น ให้พิมพ์ No

ข้อจำกัด

- 1 \leq N, M \leq 100
- 1 \leq A_i, B_j \leq 200
- A_1, A_2, \dots, A_N, B_1, B_2, \dots, B_M แตกต่างกัน
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

ตัวอย่างอินพุต 1

3 2
3 2 5
4 1

ตัวอย่างเอาต์พุต 1

Yes

C=(1,2,3,4,5) เนื่องจาก 2 และ 3 จาก A เกิดขึ้นติดต่อกันใน C ให้พิมพ์ Yes

ตัวอย่างอินพุต 2

3 2
3 1 5
4 2

ตัวอย่างเอาต์พุต 2

No

C=(1,2,3,4,5) เนื่องจากไม่มีองค์ประกอบสององค์ประกอบจาก A เกิดขึ้นติดต่อกันใน C ให้พิมพ์ No

ตัวอย่างอินพุต 3

1 1
1
2

ตัวอย่างเอาต์พุต 3

No

คุณจะได้รับลำดับ A=(A_1,A_2,\dots,A_N) ที่มีความยาว N และลำดับ B=(B_1,B_2,\dots,B_M) ที่มีความยาว M ในที่นี้ องค์ประกอบทั้งหมดของ A และ B จะแยกจากกันเป็นคู่ๆ กำหนดว่าลำดับ C=(C_1,C_2,\dots,C_{N+M}) ที่เกิดขึ้นจากการเรียงลำดับองค์ประกอบทั้งหมดของ A และ B ตามลำดับจากน้อยไปมาก มีองค์ประกอบที่ต่อเนื่องกันสององค์ประกอบที่ปรากฏใน A หรือไม่

อินพุต

อินพุตจะได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N M
A_1 A_2 \dots A_N
B_1 B_2 \dots B_M

เอาต์พุต

หาก C มีองค์ประกอบที่ต่อเนื่องกันสององค์ประกอบที่ปรากฏใน A ให้พิมพ์ Yes; มิฉะนั้น ให้พิมพ์ No

ข้อจำกัด

- 1 \leq N, M \leq 100
- 1 \leq A_i, B_j \leq 200
- A_1, A_2, \dots, A_N, B_1, B_2, \dots, B_M แตกต่างกัน
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

ตัวอย่างอินพุต 1

3 2
3 2 5
4 1

ตัวอย่างเอาต์พุต 1

Yes

C=(1,2,3,4,5) เนื่องจาก 2 และ 3 จาก A เกิดขึ้นติดต่อกันใน C ให้พิมพ์ใช่

ตัวอย่างอินพุต 2

3 2
3 1 5
4 2

ตัวอย่างเอาต์พุต 2

No

C=(1,2,3,4,5) เนื่องจากไม่มีองค์ประกอบสององค์ประกอบจาก A เกิดขึ้นติดต่อกันใน C ให้พิมพ์ No

ตัวอย่างอินพุต 3

1 1
1
2

ตัวอย่างเอาต์พุต 3

No

คุณจะได้รับลําดับ A=(A_1,A_2,\dots,A_N) ที่มีความยาว N และลําดับ B=(B_1,B_2,\dots,B_M) ที่มีความยาว M ที่นี่ องค์ประกอบทั้งหมดของ A และ B แตกต่างกันเป็นคู่ ตรวจสอบว่าลําดับ C=(C_1,C_2,\dots,C_{N+M}) ที่เกิดขึ้นโดยการเรียงลําดับองค์ประกอบทั้งหมดของ A และ B ตามลําดับจากน้อยไปมากมีองค์ประกอบสององค์ประกอบที่ต่อเนื่องกันปรากฏใน A หรือไม่

อินพุต

อินพุตจะได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N M
A_1 A_2\ dots A_N
B_1 B_2\ dots B_M

ผลลัพธ์

หาก C มีองค์ประกอบสององค์ประกอบที่ต่อเนื่องกันปรากฏใน A ให้พิมพ์ Yes; ถ้าไม่เช่นนั้น ให้พิมพ์ No

จำนวนเต็ม

- 1 \leq N, M \leq 100
- 1 \leq A_i, B_j\ leq 200
-A_1, A_2, \dots, A_N, B_1, B_2, \dots, B_M แตกต่างกันทุกคู่
- ค่าอินพุตทั้งหมดเป็นจํานวนเต็ม

ตัวอย่างอินพุต 1

3 2
3 2 5
4 1

ตัวอย่างผลลัพธ์ 1

Yes

C=(1,2,3,4,5) เนื่องจาก 2 และ 3 จาก A ปรากฏต่อเนื่องกันใน C ดังนั้นให้พิมพ์ Yes

ตัวอย่างอินพุต 2
3 2
3 1 5
4 2

ตัวอย่างผลลัพธ์ 2

No

C=(1,2,3,4,5) เนื่องจากไม่มีองค์ประกอบสองอย่างจาก A เกิดขึ้นติดต่อกันอย่างต่อเนื่องใน C พิมพ์ No

ตัวอย่างอินพุต 3

1 1
1
2

ตัวอย่างผลลัพธ์ 3

No


มีตารางขนาด N \times N ซึ่งเซลล์ที่อยู่ในแถวที่ i จากด้านบนและคอลัมน์ที่ j จากด้านซ้ายจะมีค่าเป็น N \times (i-1) + j ในระยะเวลา T รอบ จะมีการประกาศจำนวนเต็ม ในรอบที่ i จะมีการประกาศจำนวน A_i และเซลล์ที่มีค่า A_i จะถูกทำเครื่องหมาย กำหนดรอบที่ Bingo ถูกทำให้สำเร็จเป็นครั้งแรก หาก Bingo ไม่สำเร็จภายใน T รอบ ให้พิมพ์ -1
ที่นี่ การทำ Bingo ให้สำเร็จหมายถึงการตอบสนองเงื่อนไขอย่างน้อยหนึ่งข้อจากข้อกำหนดต่อไปนี้:

- มีแถวหนึ่งที่มีเซลล์ทั้งหมด N เซลล์ถูกทำเครื่องหมาย
- มีคอลัมน์หนึ่งที่มีเซลล์ทั้งหมด N เซลล์ถูกทำเครื่องหมาย
- มีเส้นทแยงมุม (จากมุมซ้ายบนไปมุมขวาล่างหรือจากมุมขวาบนไปมุมซ้ายล่าง) ที่มีเซลล์ทั้งหมด N เซลล์ถูกทำเครื่องหมาย

Input

อินพุตจะได้รับจาก Standard Input ในรูปแบบต่อไปนี้:
N T
A_1 A_2 \ldots A_T

Output

หากบิงโกเกิดขึ้นภายใน T เทิร์น ให้พิมพ์หมายเลขเทิร์นที่บิงโกเกิดขึ้นเป็นครั้งแรก; มิฉะนั้น ให้พิมพ์ -1.

ข้อจำกัด

- 2 \leq N \leq 2 \times 10^3
- 1 \leq T \leq \min(N^2, 2 \times 10^5)
- 1 \leq A_i \leq N^2
- A_i \neq A_j หาก i \neq j.
- ค่าทั้งหมดที่ป้อนเข้ามาเป็นจำนวนเต็ม

ตัวอย่าง Input 1

3 5
5 1 8 9 7

ตัวอย่าง Output 1

4

สถานะของกริดเปลี่ยนแปลงดังนี้ บิงโกเกิดขึ้นเป็นครั้งแรกในเทิร์นที่ 4.

ตัวอย่างInput 2

3 5
4 2 9 7 5

ตัวอย่างOutput 2

-1

บิงโกไม่สำเร็จภายในห้าตา ดังนั้นให้พิมพ์ -1.

ตัวอย่าง Input 3

4 12
13 9 6 5 2 7 16 14 8 3 10 11

ตัวอย่างOutput 3

9

มีตาราง N \times N โดยที่เซลล์ที่แถวที่ i จากด้านบนและคอลัมน์ที่ j จากด้านซ้ายจะมีจำนวนเต็ม N \times (i-1) + j
ใน T รอบ จะมีการประกาศจำนวนเต็ม ใน Turn i จะมีการประกาศจำนวนเต็ม A_i และทำเครื่องหมายเซลล์ที่มี A_i กำหนดว่าใน Turn ใดที่จะบรรลุ Bingo เป็นครั้งแรก หากไม่บรรลุ Bingo ภายใน T รอบ ให้พิมพ์ -1
ในที่นี้ การบรรลุ Bingo หมายถึงการตอบสนองเงื่อนไขอย่างน้อยหนึ่งข้อต่อไปนี้:

- มีแถวที่ทำเครื่องหมายเซลล์ทั้งหมด N เซลล์
- มีคอลัมน์ที่ทำเครื่องหมายเซลล์ทั้งหมด N เซลล์
- มีเส้นทแยงมุม (จากซ้ายบนไปขวาล่างหรือจากขวาบนไปซ้ายล่าง) ที่ทำเครื่องหมายเซลล์ทั้งหมด N เซลล์

อินพุต

อินพุตจะได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N T
A_1 A_2 \ldots A_T

เอาต์พุต

หากทำ Bingo สำเร็จภายใน T ตา ให้พิมพ์หมายเลขตาที่ทำ Bingo สำเร็จเป็นครั้งแรก มิฉะนั้น ให้พิมพ์ -1

ข้อจำกัด

- 2 \leq N \leq 2 \times 10^3
- 1 \leq T \leq \min(N^2, 2 \times 10^5)
- 1 \leq A_i \leq N^2
- A_i \neq A_j if i \neq j
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

ตัวอย่างอินพุต 1

3 5
5 1 8 9 7

ตัวอย่างเอาต์พุต 1

4

สถานะของกริดจะเปลี่ยนแปลงดังต่อไปนี้ บิงโกสำเร็จเป็นครั้งแรกในเทิร์น 4

ตัวอย่างอินพุต 2

3 5
4 2 9 7 5

ตัวอย่างเอาต์พุต 2

-1

บิงโกไม่สำเร็จภายในห้าเทิร์น ดังนั้นพิมพ์ -1

ตัวอย่างอินพุต 3

4 12
13 9 6 5 2 7 16 14 8 3 10 11

ตัวอย่างเอาต์พุต 3

9


เค้กของทาคาฮาชิถูกคนกินไปแล้ว มีผู้ต้องสงสัยสามคน: บุคคลที่ 1 บุคคลที่ 2 และบุคคลที่ 3
มีพยานสองคนคือ ริงโกะและสนู๊ค ริงโกะจำได้ว่าบุคคล A ไม่ใช่ผู้ร้าย และสนู๊คจำได้ว่าบุคคล B ไม่ใช่ผู้ร้าย

ตรวจสอบว่าสามารถระบุตัวผู้ร้ายได้อย่างชัดเจนหรือไม่โดยอาศัยความจำของพยานทั้งสองคน หากสามารถระบุตัวผู้ร้ายได้ ให้พิมพ์หมายเลขของบุคคลนั้น

อินพุต

อินพุตนี้มาจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
A B

เอาต์พุต

หากสามารถระบุตัวผู้ร้ายได้อย่างชัดเจนโดยอาศัยความจำของพยานทั้งสองคน ให้พิมพ์หมายเลขของบุคคลนั้น มิฉะนั้น ให้พิมพ์ -1

ข้อจำกัด

- 1 \leq A, B \leq 3
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

ตัวอย่างอินพุต 1

1 2

ตัวอย่างเอาต์พุต 1

3

จากความจำของพยานทั้งสองคน จะสามารถระบุได้ว่าบุคคลที่ 3 เป็นผู้กระทำความผิด

ตัวอย่างอินพุต 2

1 1

ตัวอย่างเอาต์พุต 2

-1

จากความจำของพยานทั้งสองคน จะไม่สามารถระบุได้ว่าบุคคลที่ 2 หรือบุคคลที่ 3 เป็นผู้กระทำความผิด ดังนั้น ให้พิมพ์ -1

ตัวอย่างอินพุต 3

3 1

ตัวอย่างเอาต์พุต 3

2

เค้กของทาคาฮาชิถูกใครบางคนกินไปแล้ว มีผู้ต้องสงสัยสามคน: คนที่ 1, คนที่ 2, และคนที่ 3
มีพยานสองคนคือ ริงโกะ และ สนุค ริงโกะจำได้ว่าคน A ไม่ใช่ผู้กระทำผิด และสนุคจำได้ว่าคน B ไม่ใช่ผู้กระทำผิด
กำหนดว่าผู้กระทำผิดสามารถถูกระบุได้อย่างชัดเจนจากความทรงจำของพยานทั้งสองหรือไม่ ถ้าสามารถระบุผู้กระทำผิดได้ ให้พิมพ์หมายเลขของคนที่เป็นผู้กระทำผิดนั้น

Input

ข้อมูลนำเข้าจะได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
A B

Output

หากสามารถระบุผู้กระทำผิดได้อย่างชัดเจนจากความทรงจำของพยานทั้งสองคน ให้พิมพ์หมายเลขของบุคคลนั้น; มิฉะนั้น ให้พิมพ์ -1.

ข้อจำกัด

- 1 \leq A, B \leq 3
- ค่าทั้งหมดในข้อมูลนำเข้าเป็นจำนวนเต็ม

ตัวอย่างInput 1

1 2

ตัวอย่างOutput 1

3

จากความทรงจำของพยานทั้งสอง สามารถสรุปได้ว่าคนที่ 3 เป็นผู้กระทำผิด.

ตัวอย่าง  Input 2
1 1

ตัวอย่าง Output 2

-1

จากความทรงจำของพยานทั้งสอง ไม่สามารถระบุได้ว่าบุคคลที่ 2 หรือบุคคลที่ 3 เป็นผู้กระทำผิด ดังนั้นให้พิมพ์ -1.

ตัวอย่างInput 3

3 1

ตัวอย่างOutput 3

2

ใครบางคนกินเค้กของ Takahashi มีผู้ต้องสงสัยสามคน: บุคคลที่ 1, บุคคล 2 และบุคคล 3
มีพยานสองคน Ringo และ Snuke ริงโก้จำได้ว่าบุคคล A ไม่ใช่ผู้ร้ายและ Snuke จำได้ว่าบุคคล B ไม่ใช่ผู้ร้าย
ตรวจสอบว่าผู้กระทำผิดสามารถระบุได้โดยไม่ซ้ำกันตามความทรงจำของพยานทั้งสองหรือไม่ หากผู้กระทำผิดสามารถระบุได้ให้พิมพ์หมายเลขของบุคคล

ป้อนข้อมูล

อินพุตได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
A B

เอาท์พุท

หากผู้ร้ายสามารถระบุได้โดยไม่ซ้ำกันตามความทรงจำของพยานทั้งสองให้พิมพ์หมายเลขของบุคคลนั้น มิฉะนั้นพิมพ์ -1

ข้อ จำกัด

- 1 \leq A, B \leq 3
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

อินพุตตัวอย่าง 1

1 2

ตัวอย่างเอาท์พุท 1

3

จากความทรงจำของพยานทั้งสองสามารถพิจารณาได้ว่าบุคคลที่ 3 เป็นผู้ร้าย

อินพุตตัวอย่าง 2

1 1

ตัวอย่างเอาท์พุท 2

-1

จากความทรงจำของพยานทั้งสองไม่สามารถระบุได้ว่าบุคคล 2 หรือบุคคล 3 เป็นผู้ร้าย ดังนั้นพิมพ์ -1

อินพุตตัวอย่าง 3

3 1

ตัวอย่างเอาท์พุท 3

2


โจทย์กำหนดให้คุณมีช่วงของตัวเลขจริง N ช่วง ช่วงที่ i-th (1 \leq i \leq N) คือ [l_i, r_i] ให้หาจำนวนคู่ (i, j)\,(1 \leq i < j \leq N) ที่ช่วงที่ i-th และ j-th มีการทับซ้อนกัน

Input

ข้อมูลนำเข้าจะได้จาก Standard Input ในรูปแบบนี้:
N
l_1 r_1
l_2 r_2
\vdots
l_N r_N

Output

แสดงคำตอบ

ข้อจำกัด

- 2 \leq N \leq 5 \times 10^5
- 0 \leq l_i < r_i \leq 10^9
- ค่าทั้งหมดที่นำเข้าจะเป็นจำนวนเต็ม

ตัวอย่างInput 1

3
1 5
7 8
3 7

ตัวอย่างOutput 1

2

ช่วงที่ให้คือ [1,5], [7,8], [3,7] ในกรณีนี้ ช่วงที่ 1 กับช่วงที่ 3 ทับซ้อนกัน และช่วงที่ 2 กับช่วงที่ 3 ทับซ้อนกัน ดังนั้นคำตอบคือ 2

ตัวอย่างInput 2

3
3 4
2 5
1 6

ตัวอย่างOutput 2

3

ตัวอย่างInput 3

2
1 2
3 4

ตัวอย่างOutput 3

0

คุณได้รับช่วงของจำนวนจริง N ช่วง ช่วงที่ i (1 \leq i \leq N) คือ [l_i, r_i] หาจำนวนคู่ (i, j)\,(1 \leq i < j \leq N) ที่ช่วงที่ i และ j ตัดกัน

อินพุต

อินพุตกำหนดจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N
l_1 r_1
l_2 r_2
\vdots
l_N r_N

เอาต์พุต

พิมพ์คำตอบ

ข้อจำกัด

- 2 \leq N \leq 5 \times 10^5
- 0 \leq l_i < r_i \leq 10^9
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

ตัวอย่างอินพุต 1

3
1 5
7 8
3 7

ตัวอย่างเอาต์พุต 1

2

ช่วงที่กำหนดคือ [1,5], [7,8], [3,7] ในจำนวนนี้ ช่วงที่ 1 และ 3 ตัดกัน รวมถึงช่วงที่ 2 และ 3 ดังนั้นคำตอบคือ 2

ตัวอย่างอินพุต 2

3
3 4
2 5
1 6

ตัวอย่างเอาต์พุต 2

3

ตัวอย่างอินพุต 3

2
1 2
3 4

ตัวอย่างเอาต์พุต 3

0

คุณได้รับช่วงที่แท้จริงของจำนวนจริง ช่วง i-th (1 ≤ i ≤ N) คือ [l_i, r_i] ค้นหาจำนวนคู่ (i, j) \, (1 \ leq i <j \ leq N) ซึ่งช่วง i-th และ j-th ตัดกัน

ป้อนข้อมูล

อินพุตได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N
l_1 r_1
l_2 r_2
\vdots
l_N r_N

เอาท์พุท

พิมพ์คำตอบ

ข้อ จำกัด

- 2 \ leq N\ leq 5 \ times 10^5
- 0 \ leq l_i <r_i \ leq 10^9
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

อินพุตตัวอย่าง 1

3
1 5
7 8
3 7

ตัวอย่างเอาท์พุท 1

2

ช่วงเวลาที่กำหนดคือ [1,5], [7,8], [3,7] ในบรรดาสิ่งเหล่านี้ช่วง ที่ 1 และ ที่ 3 ตัดกันรวมถึงช่วง ที่ 2 และ ที่ 3 ดังนั้นคำตอบคือ 2

อินพุตตัวอย่าง 2

3
3 4
2 5
1 6

ตัวอย่างเอาท์พุท 2

3

อินพุตตัวอย่าง 3

2
1 2
3 4

ตัวอย่างเอาท์พุท 3

0


คุณมีอาเรย์แอปเปิลขนาด n และอาเรย์ capacity ขนาด m
มีแพ็คจำนวน n แพ็คที่แต่ละแพ็ค i^th มีแอปเปิล apple[i] ลูก นอกจากนี้ยังมีกล่องจำนวน m ที่กล่อง i^th มีความจุ capacity[i] ลูก
จงคืนค่าจำนวนกล่องที่ต้องเลือกใช้ขั้นต่ำเพื่อกระจายแพ็คแอปเปิล n ที่มีเหล่านี้ลงในกล่อง
โปรดทราบว่า แอปเปิลจากแพ็คเดียวกันสามารถกระจายไปในกล่องต่าง ๆ ได้

ตัวอย่างที่ 1:

Input: apple = [1,3,2], capacity = [4,3,1,5,2]
Output: 2
คำอธิบาย: เราจะใช้กล่องที่มีความจุ 4 และ 5
สามารถกระจายแอปเปิลได้เพราะความจุทั้งหมดมากกว่าหรือเท่ากับจำนวนแอปเปิลทั้งหมด

ตัวอย่างที่ 2:

Input: apple = [5,5,5], capacity = [2,4,2,7]
Output: 4
คำอธิบาย: เราจะต้องใช้กล่องทั้งหมด

ข้อจำกัด:

1 <= n == apple.length <= 50
1 <= m == capacity.length <= 50
1 <= apple[i], capacity[i] <= 50
อินพุตถูกสร้างขึ้นเพื่อให้สามารถกระจายแพ็คแอปเปิลลงในกล่องได้

คุณมีอาเรย์ apple ขนาด n และอาเรย์ capacity ขนาด m มีแพ็คจำนวน n แพ็คที่แต่ละแพ็ค i มีแอปเปิล apple[I] ลูก นอกจากนี้ยังมีกล่องจำนวน m ที่กล่อง i มีความจุ capacity[i] ลูก
จงคืนค่าจำนวนกล่องที่ต้องเลือกใช้ขั้นต่ำเพื่อกระจายแพ็คแอปเปิล n ที่มีเหล่านี้ลงในกล่อง
โปรดทราบว่า แอปเปิลจากแพ็คเดียวกันสามารถกระจายไปในกล่องต่าง ๆ ได้

ตัวอย่างที่ 1:

Input: apple = [1,3,2], capacity = [4,3,1,5,2]
Output: 2
คำอธิบาย: เราจะใช้กล่องที่มีความจุ 4 และ 5
สามารถกระจายแอปเปิลได้เพราะความจุทั้งหมดมากกว่าหรือเท่ากับจำนวนแอปเปิลทั้งหมด

ตัวอย่างที่ 2:

Input: apple = [5,5,5], capacity = [2,4,2,7]
Output: 4
คำอธิบาย: เราจะต้องใช้กล่องทั้งหมด

ข้อจำกัด:

1 <= n == apple.length <= 50
"1 <= m == capacity.length <= 50"
1 <= apple[i], capacity[i] <= 50
อินพุตถูกสร้างขึ้นเพื่อให้สามารถกระจายแพ็คแอปเปิลลงในกล่องได้

คุณจะได้รับอาร์เรย์แอปเปิ้ลขนาด n และความจุอาร์เรย์ขนาด m
มี n แพ็ค โดยที่แพ็คที่ i มีแอปเปิ้ล apple[i] แอปเปิ้ล มีกล่อง m เช่นกันและกล่อง i^th มีความจุของแอปเปิ้ล [i] แอปเปิ้ล
ส่งคืนจำนวนกล่องขั้นต่ำที่คุณต้องเลือกเพื่อแจกจ่ายแอปเปิ้ล n เหล่านี้อีกครั้งลงในกล่อง
โปรดทราบว่าแอปเปิ้ลจากแพ็คเดียวกันสามารถแจกจ่ายลงในกล่องที่แตกต่างกัน

ตัวอย่างที่ 1:

อินพุต: apple = [1,3,2], capacity = [4,3,1,5,2]
เอาท์พุท: 2
คำอธิบาย: เราจะใช้กล่องที่มีความจุ 4 และ 5
เป็นไปได้ที่จะแจกจ่ายแอปเปิ้ลเนื่องจากความจุรวมมากกว่าหรือเท่ากับจำนวนแอปเปิ้ลทั้งหมด

ตัวอย่างที่ 2:

อินพุต: apple = [5,5,5], capacity = [2,4,2,7]
เอาท์พุท: 4
คำอธิบาย: เราจะต้องใช้กล่องทั้งหมด

ข้อ จำกัด :

1 <= n == apple.length <= 50
1 <= m == capacity.length <= 50
1 <= apple[i], capacity[i] <= 50
อินพุตถูกสร้างขึ้นเพื่อให้เป็นไปได้ที่จะแจกจ่ายแพ็คของแอปเปิ้ลลงในกล่อง


คุณมีอาร์เรย์ happiness ที่มีความยาว n และจำนวนเต็มบวก k
มีเด็ก n คนยืนอยู่ในคิว โดยเด็กคนที่ i^th มีค่าความสุข happiness[i] คุณต้องการเลือกเด็ก k คนจากเด็ก n คนนี้ใน k รอบ
ในแต่ละรอบ เมื่อคุณเลือกเด็กคนหนึ่ง ค่าความสุขของเด็กทุกคนที่ยังไม่ได้ถูกเลือกจะลดลง 1 โปรดทราบว่าค่าความสุขไม่สามารถติดลบได้และจะถูกลดลงเฉพาะเมื่อมันเป็นบวก
คืนค่าผลรวมสูงสุดของค่าความสุขของเด็กที่ถูกเลือกที่คุณสามารถทำได้โดยการเลือกเด็ก k คน

ตัวอย่างที่ 1:

อินพุต: happiness = [1,2,3], k = 2
เอาต์พุต: 4
อธิบาย: เราสามารถเลือกเด็ก 2 คนได้ดังนี้:
- เลือกเด็กที่มีค่าความสุข == 3 ค่าความสุขของเด็กที่เหลือกลายเป็น [0,1]
- เลือกเด็กที่มีค่าความสุข == 1 ค่าความสุขของเด็กที่เหลือกลายเป็น [0] โปรดทราบว่าค่าความสุขไม่สามารถน้อยกว่า 0 ได้
ผลรวมของค่าความสุขของเด็กที่ถูกเลือกคือ 3 + 1 = 4

ตัวอย่างที่ 2:

อินพุต: happiness = [1,1,1,1], k ==2
เอาต์พุต:1
อธิบาย: เราสามารถเลือกเด็ก 2 คนได้ดังนี้:
- เลือกเด็กใดก็ได้ที่มีค่าความสุข == 1 ค่าความสุขของเด็กที่เหลือกลายเป็น [0,0,0]
- เลือกเด็กที่มีค่าความสุข == 0 ค่าความสุขของเด็กที่เหลือกลายเป็น [0,0]
ผลรวมของค่าความสุขของเด็กที่ถูกเลือกคือ 1 + 0 = 1

ตัวอย่างที่ 3:

อินพุต: happiness = [2,3,4,5], k = 1
เอาต์พุต: 5
อธิบาย: เราสามารถเลือกเด็ก 1 คนได้ดังนี้:
- เลือกเด็กที่มีค่าความสุข == 5 ค่าความสุขของเด็กที่เหลือกลายเป็น [1,2,3]
ผลรวมของค่าความสุขของเด็กที่ถูกเลือกคือ 5

ข้อจำกัด:

1 <= n == happiness.length <= 2 * 10^5
1 <= happiness[i] <= 10^8
1 <= k <= n

คุณจะได้รับความสุขของอาร์เรย์ที่มีความยาว n และจํานวนเต็มบวก k
มีเด็ก n คนยืนอยู่ในคิว โดยที่เด็ก i^th มีความสุขมีค่าความสุข[i] คุณต้องการเลือกเด็ก k ตัวจากลูก n ตัวนี้ใน k เทิร์น
ในแต่ละเทิร์นเมื่อคุณเลือกเด็กค่าความสุขของเด็กทุกคนที่ยังไม่ได้เลือกจนถึงตอนนี้จะลดลง 1 โปรดทราบว่าค่าความสุขไม่สามารถเป็นลบได้และจะลดลงก็ต่อเมื่อเป็นบวกเท่านั้น
ส่งคืนผลรวมสูงสุดของค่าความสุขของเด็กที่เลือกที่คุณสามารถทําได้โดยการเลือกลูก k คน

ตัวอย่างที่ 1:

อินพุต:happiness= [1,2,3], k = 2
เอาท์พุต: 4
คําอธิบาย: เราสามารถเลือกเด็กได้ 2 คนด้วยวิธีต่อไปนี้:
- เลือกเด็กที่มีค่าความสุข == 3 ค่าความสุขของเด็กที่เหลือจะกลายเป็น [0,1]
- เลือกเด็กที่มีค่าความสุข == 1 ค่าความสุขของเด็กที่เหลือจะกลายเป็น [0] โปรดทราบว่าค่าความสุขต้องไม่น้อยกว่า 0
ผลรวมของค่าความสุขของเด็กที่เลือกคือ 3 + 1 = 4

ตัวอย่างที่ 2:

อินพุต: happiness = [1,1,1,1], k = 2
เอาท์พุต: 1
คําอธิบาย: เราสามารถเลือกเด็กได้ 2 คนด้วยวิธีต่อไปนี้:
- เลือกเด็กคนใดก็ได้ที่มีค่าความสุข == 1 ค่าความสุขของเด็กที่เหลือจะกลายเป็น [0,0,0]
- เลือกเด็กที่มีค่าความสุข == 0 ค่าความสุขของเด็กที่เหลือจะกลายเป็น [0,0]
ผลรวมของค่าความสุขของเด็กที่เลือกคือ 1 + 0 = 1

ตัวอย่างที่ 3:

อินพุต: happiness= [2,3,4,5], k = 1
เอาท์พุต: 5
คําอธิบาย: เราสามารถเลือกเด็กได้ 1 คนด้วยวิธีต่อไปนี้:
- เลือกเด็กที่มีค่าความสุข == 5 คุณค่าความสุขของเด็กที่เหลือจะกลายเป็น [1,2,3]
ผลรวมของค่าความสุขของเด็กที่เลือกคือ 5

ข้อจํากัด:

1 <= n == happiness.length <= 2 * 10^5
1 <= happiness[i] <= 10^8
1 <= k <= n

คุณจะได้รับอาร์เรย์ความสุขที่มีความยาว n และจำนวนเต็มบวก k
มีเด็ก n คนยืนอยู่ในคิว โดยที่เด็กคนที่ i^ มีค่าความสุข happiness[i] คุณต้องการเลือกเด็ก k คนจากเด็ก n คนเหล่านี้ใน k รอบ
ในแต่ละรอบ เมื่อคุณเลือกเด็ก ค่าความสุขของเด็กทั้งหมดที่ยังไม่ได้ถูกเลือกจนถึงตอนนี้จะลดลง 1 โปรดทราบว่าค่าความสุขไม่สามารถกลายเป็นค่าลบได้ และจะลดลงก็ต่อเมื่อเป็นค่าบวกเท่านั้น
ส่งคืนผลรวมสูงสุดของค่าความสุขของเด็กที่เลือกซึ่งคุณจะได้รับโดยการเลือกเด็ก k คน

ตัวอย่าง 1:

อินพุต: happiness = [1,2,3], k = 2
เอาต์พุต: 4
คำอธิบาย: เราสามารถเลือกเด็ก 2 คนได้ดังนี้:
- เลือกเด็กที่มีค่าความสุข == 3 ค่าความสุขของเด็กที่เหลือจะกลายเป็น [0,1]
- เลือกเด็กที่มีค่าความสุข == 1 ค่าความสุขของเด็กที่เหลือจะกลายเป็น [0] โปรดทราบว่าค่าความสุขไม่สามารถมีค่าน้อยกว่า 0 ได้
ผลรวมของค่าความสุขของเด็กที่เลือกคือ 3 + 1 = 4

ตัวอย่างที่ 2:

อินพุต: happiness = [1,1,1,1], k = 2
เอาต์พุต: 1
คำอธิบาย: เราสามารถเลือกเด็ก 2 คนได้ดังต่อไปนี้:
- เลือกเด็กที่มีค่าความสุข == 1 ค่าความสุขของเด็กที่เหลือจะกลายเป็น [0,0,0]
- เลือกเด็กที่มีค่าความสุข == 0 ค่าความสุขของเด็กที่เหลือจะกลายเป็น [0,0]

ผลรวมของค่าความสุขของเด็กที่เลือกคือ 1 + 0 = 1

ตัวอย่างที่ 3:

อินพุต: happiness = [2,3,4,5], k = 1
เอาต์พุต: 5
คำอธิบาย: เราสามารถเลือกเด็ก 1 คนได้ดังต่อไปนี้:
- เลือกเด็กที่มีค่าความสุข == 5 ค่าความสุขของเด็กที่เหลือจะกลายเป็น [1,2,3] ผลรวมค่าความสุขของเด็กที่เลือกคือ 5

เงื่อนไข:

1 <= n == happiness.length <= 2 * 10^5
1 <= happiness[i] <= 10^8
1 <= k <= n


คุณจะได้รับอาร์เรย์ arr ขนาด n ที่ประกอบด้วยสตริงที่ไม่ว่าง
ค้นหาคำตอบของอาร์เรย์สตริงขนาด n ที่:

answer[i] คือซับสตริงที่สั้นที่สุดของ arr[i] ที่ไม่ปรากฏในซับสตริงในสตริงอื่นใดใน arr หากมีซับสตริงดังกล่าวหลายตัว answer[i] ควรเป็นซับสตริงที่เล็กที่สุดตามพจนานุกรม และหากไม่มีซับสตริงดังกล่าว answer[i] ควรเป็นสตริงว่าง

ส่งคืนคำตอบของอาร์เรย์

ตัวอย่างที่ 1:

อินพุต: arr = ["cab","ad","bad","c"]
เอาต์พุต: ["ab","","ba",""]
คำอธิบาย: เรามีดังต่อไปนี้:
- สำหรับสตริง "cab" ซับสตริงที่สั้นที่สุดที่ไม่ปรากฏในสตริงอื่นใดคือ "ca" หรือ "ab" เราเลือกซับสตริงที่เล็กกว่าตามพจนานุกรม ซึ่งคือ "ab"
- สำหรับสตริง "ad" ไม่มีซับสตริงใดที่ไม่ปรากฏในสตริงอื่นใด - สำหรับสตริง "bad" ซับสตริงที่สั้นที่สุดที่ไม่ปรากฏในสตริงอื่นคือ "ba"
- สำหรับสตริง "c" ไม่มีซับสตริงที่ไม่ปรากฏในสตริงอื่น

ตัวอย่างที่ 2:

อินพุต: arr = ["abc","bcd","abcd"]
เอาต์พุต: ["","","abcd"]
คำอธิบาย: เรามีดังต่อไปนี้:
- สำหรับสตริง "abc" ไม่มีซับสตริงที่ไม่ปรากฏในสตริงอื่น
- สำหรับสตริง "bcd" ไม่มีซับสตริงที่ไม่ปรากฏในสตริงอื่น
- สำหรับสตริง "abcd" ซับสตริงที่สั้นที่สุดที่ไม่ปรากฏในสตริงอื่นคือ "abcd"

ข้อจำกัด:

n == arr.length
2 <= n <= 100
1 <= arr[i].length <= 20
arr[i] ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น

คุณจะได้รับอาร์เรย์ของขนาด n ซึ่งประกอบด้วยสตริงที่ไม่ว่างเปล่า
ค้นหาคำตอบสตริงอาร์เรย์ของขนาด n โดยที่:

คำตอบ [i] เป็นสายย่อยที่สั้นที่สุดของ arr [i] ที่ไม่ได้เกิดขึ้นเป็น substring ในสตริงอื่น ๆ ใน arr หากมีหลายส่วนย่อยดังกล่าวคำตอบ [i] ควรมีน้อยที่สุดตามลำดับตัวอักษร และหากไม่มีสายย่อยดังกล่าวคำตอบ [i] ควรเป็นสตริงที่ว่างเปล่า

ส่งคืนคำตอบอาร์เรย์

ตัวอย่างที่ 1:

อินพุต: arr = ["cab", "ad", "bad", "c"]
เอาท์พุท: ["ab", "", "ba", ""]
คำอธิบาย: เรามีสิ่งต่อไปนี้:
- สำหรับสตริง "cab" สตริงย่อยที่สั้นที่สุดที่ไม่ได้เกิดขึ้นในสตริงอื่น ๆ คือ "ca" หรือ "ab" เราเลือก substring ที่มีขนาดเล็กลงซึ่งเป็น "ab"
- สำหรับสตริง "ab" ไม่มีสตริงย่อยที่ไม่เกิดขึ้นในสตริงอื่น ๆ
- สำหรับสตริง "bad" สตริงย่อยที่สั้นที่สุดที่ไม่ได้เกิดขึ้นในสตริงอื่น ๆ คือ "ba"
- สำหรับสตริง "c" ไม่มีสตริงย่อยที่ไม่เกิดขึ้นในสตริงอื่น ๆ

ตัวอย่างที่ 2:

อินพุต: arr = ["abc","bcd","abcd"]
เอาท์พุท:  ["","","abcd"]
คำอธิบาย: เรามีสิ่งต่อไปนี้:
- สำหรับสตริง "abc" ไม่มีสตริงย่อยที่ไม่เกิดขึ้นในสตริงอื่น ๆ
- สำหรับสตริง "bcd" ไม่มีสตริงย่อยที่ไม่เกิดขึ้นในสตริงอื่น ๆ
- สำหรับสตริง "abcd" สายย่อยที่สั้นที่สุดที่ไม่ได้เกิดขึ้นในสตริงอื่น ๆ คือ "abcd"

ข้อ จำกัด :

n == arr.length
2 <= n <= 100
1 <= arr [i] .length <= 20
arr [i] ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น


คุณจะได้รับอาร์เรย์ที่มีดัชนี 0 ของจำนวนเต็ม nums ที่มีความยาว n และจำนวนเต็มคี่บวก k
ความแข็งแกร่งของซับอาร์เรย์ x ถูกกำหนดให้เป็นความแข็งแกร่ง = sum[1] * x - sum[2] * (x - 1) + sum[3] * (x - 2) - sum[4] * (x - 3) + ... + sum[x] * 1 โดยที่ sum[i] คือผลรวมขององค์ประกอบในซับอาร์เรย์ที่ i^th ตามรูปแบบ ความแข็งแกร่งคือผลรวมของ (-1)^i+1 * sum[i] * (x - i + 1) เหนือ i ทั้งหมดที่ทำให้ 1 <= i <= x
คุณต้องเลือกซับอาร์เรย์ที่แยกจากกัน k รายการ โดยให้ความแข็งแกร่งสูงสุด
ส่งคืนความแข็งแกร่งสูงสุดที่เป็นไปได้ที่สามารถรับได้
โปรดทราบว่าซับอาร์เรย์ที่เลือกไม่จำเป็นต้องครอบคลุมทั้งอาร์เรย์

ตัวอย่างที่ 1:

อินพุต: nums = [1,2,3,-1,2], k = 3
เอาต์พุต: 22
คำอธิบาย: วิธีที่ดีที่สุดในการเลือก 3 ซับอาร์เรย์คือ: nums[0..2], nums[3..3] และ nums[4..4] ความแข็งแกร่งคือ (1 + 2 + 3) * 3 - (-1) * 2 + 2 * 1 = 22

ตัวอย่างที่ 2:

อินพุต: nums = [12,-2,-2,-2,-2], k = 5
เอาต์พุต: 64
คำอธิบาย: วิธีเดียวที่เป็นไปได้ในการเลือก 5 ซับอาร์เรย์ที่ไม่เกี่ยวข้องคือ: nums[0..0], nums[1..1], nums[2..2], nums[3..3] และ nums[4..4] ค่าความแข็งแรงคือ 12 * 5 - (-2) * 4 + (-2) * 3 - (-2) * 2 + (-2) * 1 = 64

ตัวอย่างที่ 3:

อินพุต: nums = [-1,-2,-3], k = 1
เอาต์พุต: -1
คำอธิบาย: วิธีที่ดีที่สุดในการเลือก 1 ซับอาร์เรย์คือ: nums[0..0] ค่าความแข็งแรงคือ -1

ข้อจำกัด:

1 <= n <= 10^4
-10^9 <= nums[i] <= 10^9
1 <= k <= n
1 <= n * k <= 10^6
k เป็นเลขคี่

คุณจะได้รับอาร์เรย์ที่มีดัชนี 0 อย่างของจำนวนเต็มความยาว N และจำนวนเต็มคี่บวก k
ความแข็งแรงของ x subarrays ถูกกำหนดให้เป็น strength = sum [1] * x - sum [2] * (x - 1) + sum [3] * (x - 2) - sum [4] * (x - 3) + ... + sum [x] * 1 โดยที่ sum [i] คือผลรวมขององค์ประกอบใน subarray i^th อย่างเป็นทางการ, ความแข็งแรงคือผลรวมของ (-1)^i + 1 * sum [i] * (x - i + 1) สำหรับทุก i ที่ 1 <= i <= x 1 <= i <= x
คุณต้องเลือก k subarrays ที่ไม่ทับซ้อนกันจาก nums ให้ความแข็งแกร่งของพวกเขาสูงสุด
ส่งคืนความแข็งแรงสูงสุดที่เป็นไปได้ที่สามารถรับได้
โปรดทราบว่า subarrays ที่เลือกไม่จำเป็นต้องครอบคลุมอาร์เรย์ทั้งหมด

ตัวอย่างที่ 1:

อินพุต: nums = [1,2,3, -1,2], k = 3
เอาท์พุท: 22
คำอธิบาย: วิธีที่ดีที่สุดในการเลือก 3 subarrays คือ: nums [0..2], nums [3..3] และ nums [4..4] ความแข็งแรงคือ (1 + 2 + 3) * 3 - (-1) * 2 + 2 * 1 = 22

ตัวอย่างที่ 2:

อินพุต: nums = [12, -2, -2, -2, -2], k = 5
เอาท์พุท: 64
คำอธิบาย: วิธีเดียวที่เป็นไปได้ในการเลือก 5 subarrays disjoint คือ: nums [0..0], nums [1..1], nums [2..2], nums [3..3] และ nums [4 .4]. ความแข็งแรงคือ 12 * 5-(-2) * 4 + (-2) * 3-(-2) * 2 + (-2) * 1 = 64

ตัวอย่างที่ 3:

อินพุต: nums = [-1, -2, -3], k = 1
เอาท์พุท: -1
คำอธิบาย: วิธีที่ดีที่สุดในการเลือก 1 subarray คือ: nums [0..0] ความแข็งแกร่งคือ -1

ข้อ จำกัด :

1 <= n <= 10^4
-10^9 <= nums [i] <= 10^9
1 <= k <= n
1 <= n * k <= 10^6
k เป็นจำนวนคี่


กำหนดสตริง s ให้ค้นหาซับสตริงใดๆ ที่มีความยาว 2 ซึ่งมีอยู่ในฟังก์ชันย้อนกลับของ s ด้วย
คืนค่า true หากมีซับสตริงดังกล่าวอยู่ และคืนค่า false หากไม่เป็นเช่นนั้น

ตัวอย่างที่ 1:

อินพุต: s = "leetcode"
เอาต์พุต: true
คำอธิบาย: ซับสตริง "ee" มีความยาว 2 ซึ่งมีอยู่ในฟังก์ชันย้อนกลับ == "edocteel" เช่นกัน

ตัวอย่างที่ 2:

อินพุต: s = "abcba"
เอาต์พุต: true
คำอธิบาย: ซับสตริงทั้งหมดที่มีความยาว 2 "ab", "bc", "cb", "ba" ก็มีอยู่ในฟังก์ชันย้อนกลับ == "abcba" เช่นกัน

ตัวอย่างที่ 3:

อินพุต: s = "abcd"
เอาต์พุต: false
คำอธิบาย: ไม่มีซับสตริงที่มีความยาว 2 ใน s ซึ่งมีอยู่ในฟังก์ชันย้อนกลับของ s เช่นกัน
ข้อจำกัด:

1 <= s.length <= 100
s ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น

ให้สตริง s ค้นหาสตริงย่อยที่มีความยาว 2 ซึ่งมีอยู่ในการย้อนกลับของ s
ส่งคืนค่าจริงหากมีการย่อยอยู่และเท็จเป็นอย่างอื่น

ตัวอย่างที่ 1:

อินพุต: s = "leetcode"
เอาท์พุท: จริง
Explaanation: substring "ee" มีความยาว 2 ซึ่งเป็น reverse (s) == "edocteel"

ตัวอย่างที่ 2:

อินพุต: s = "abcba"
เอาท์พุท: จริง
คำอธิบาย: ส่วนย่อยทั้งหมดของความยาว 2 "ab", "bc", "cb", "ba"  ก็มีอยู่ในสิ่งที่ตรงกันข้าม == "abcba".

ตัวอย่างที่ 3:

อินพุต: s = "abcd"
เอาท์พุท: เท็จ
คำอธิบาย: ไม่มีการย่อยของความยาว 2 ใน s ซึ่งมีอยู่ในการย้อนกลับของ s

ข้อ จำกัด :

1 <= s.length <= 100
s ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น


คุณจะได้รับสตริง s และอักขระ c ส่งคืนจำนวนทั้งหมดของสตริงย่อยของ s ที่เริ่มต้นและลงท้ายด้วย c

ตัวอย่างที่ 1:

อินพุต: s = "abada", c = "a"
เอาต์พุต: 6
คำอธิบาย: สตริงย่อยที่เริ่มต้นและลงท้ายด้วย "a" ได้แก่: "abada", "abada", "abada", "abada", "abada", "abada"

ตัวอย่างที่ 2:

อินพุต: s = "zzz", c = "z"
เอาต์พุต: 6
คำอธิบาย: มีสตริงย่อยทั้งหมด 6 สตริงใน s และทั้งหมดเริ่มต้นและลงท้ายด้วย "z"

ข้อจำกัด:

1 <= s.length <= 10^5
s และ c ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น

ให้สตริง s และตัวอักษร c จงหาจำนวนของสับสตริงทั้งหมดของ s ที่ขึ้นต้นและลงท้ายด้วย c

ตัวอย่างที่ 1:

Input: s = "abada", c = "a"
Output: 6
คำอธิบาย: สับสตริงที่ขึ้นต้นและลงท้ายด้วย "a" คือ: "abada", "abada", "abada", "abada", "abada", "abada".

ตัวอย่างที่ 2:

Input: s = "zzz", c = "z"
Output: 6
คำอธิบาย: มีสับสตริงทั้งหมด 6 ชุดใน s และทั้งหมดขึ้นต้นและลงท้ายด้วย "z"

ข้อจำกัด:

1 <= s.length <= 10^5
s และ c ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น

คุณจะได้รับสตริง s และอักขระ c ส่งกลับจำนวนสตริงย่อยทั้งหมดของ s ที่ขึ้นต้นและลงท้ายด้วย c

ตัวอย่างที่ 1:

อินพุต: s = "abada", c = "a"
เอาท์พุต: 6
คําอธิบาย: สตริงย่อยที่ขึ้นต้นและลงท้ายด้วย "a" คือ: "abada", "abada", "abada", "abada", "abada", "abada"

ตัวอย่างที่ 2:

อินพุต: s = "zzz", c = "z"
เอาท์พุต: 6
คําอธิบาย: มีสตริงย่อยทั้งหมด 6 สตริงใน s และทั้งหมดขึ้นต้นและลงท้ายด้วย "z"

ข้อจํากัด:

1 <= s.length <= 10^5
s และ c ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น


คุณจะได้รับคำสตริงและจำนวนเต็ม k
เราถือว่าคำเป็นคำพิเศษ k ถ้า |freq(word[i]) - freq(word[j])| <= k สำหรับดัชนี i และ j ทั้งหมดในสตริง
ในที่นี้ freq(x) หมายถึงความถี่ของอักขระ x ในคำ และ |y| หมายถึงค่าสัมบูรณ์ของ y
ส่งกลับจำนวนอักขระขั้นต่ำที่คุณต้องลบเพื่อให้คำเป็นคำพิเศษ k

ตัวอย่างที่ 1:

อินพุต: word = "aabcaba", k = 0
เอาต์พุต: 3
คำอธิบาย: เราสามารถทำให้คำเป็นคำพิเศษ 0 ได้โดยลบ "a" 2 ครั้งและ "c" 1 ครั้ง ดังนั้น word จะเท่ากับ "baba" โดยที่ freq('a') == freq('b') == 2

ตัวอย่างที่ 2:

อินพุต: word = "dabdcbdcdcd", k = 2
เอาต์พุต: 2
คำอธิบาย: เราทำให้ word พิเศษ 2 ได้โดยการลบ "a" 1 ครั้งและ "d" 1 ครั้ง ดังนั้น word จะเท่ากับ "bdcbdcdcd" โดยที่ freq('b') == 2, freq('c') == 3 และ freq('d') == 4

ตัวอย่างที่ 3:

อินพุต: word = "aaabaaa", k = 2
เอาต์พุต: 1
คำอธิบาย: เราทำให้ word พิเศษ 2 ได้โดยการลบ "b" 1 ครั้ง ดังนั้น คำจะเท่ากับ "aaaaaa" โดยที่ความถี่ของตัวอักษรแต่ละตัวจะเท่ากับ 6 อย่างสม่ำเสมอ

ข้อจำกัด:

1 <= word.length <= 10^5
0 <= k <= 10^5
คำประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น

คุณจะได้รับคำสตริงและจำนวนเต็ม k
เราถือว่า word เป็น k-special ถ้า |freq(word[i]) - freq(word[j])| <= k สำหรับดัชนี i และ j ทั้งหมดในสตริง
ที่นี่ freq (x) หมายถึงความถี่ของตัวละคร x ในคำและ | y | หมายถึงค่าสัมบูรณ์ของ y
ส่งคืนจำนวนอักขระขั้นต่ำที่คุณต้องลบเพื่อสร้างคำ k-special

ตัวอย่างที่ 1:

อินพุต: word = "aabcaba", k = 0
เอาท์พุท: 3
คำอธิบาย: เราสามารถสร้าง Word 0-special โดยการลบ 2 เหตุการณ์ที่เกิดขึ้นของ "a" และ 1 การเกิดขึ้นของ "c" ดังนั้นคำจะเท่ากับ "baba" โดยที่ freq ('a') == freq ('b') == 2

ตัวอย่างที่ 2:

อินพุต: word = "dabdcbdcdcd", k = 2
เอาท์พุท: 2
คำอธิบาย: เราสามารถสร้าง Word 2-special โดยการลบ 1 การเกิดขึ้นของ "a" และ 1 การเกิดขึ้นของ "d" ดังนั้นคำจะเท่ากับ "bdcbdcdcd" โดยที่ freq ('b') == 2, freq ('c') == 3 และ freq ('d') == 4

ตัวอย่างที่ 3:

อินพุต: word = "aaabaaa", k = 2
เอาท์พุท: 1
คำอธิบาย: เราสามารถสร้าง Word 2-special โดยการลบ 1 การเกิดขึ้นของ "b" ดังนั้นคำจะเท่ากับ "aaaaaa" ซึ่งความถี่ของตัวอักษรแต่ละตัวตอนนี้มีความสม่ำเสมอ 6

ข้อ จำกัด :

1 <= word.length <= 10^5
0 <= k <= 10^5
Word ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น


คุณจะได้รับอาร์เรย์ไบนารี nums ที่มีความยาว n จำนวนเต็มบวก k และจำนวนเต็มที่ไม่เป็นลบ maxChanges
Alice เล่นเกม โดยมีเป้าหมายให้ Alice หยิบ nums จำนวน k ตัวจาก nums โดยใช้จำนวนการเคลื่อนไหวขั้นต่ำ เมื่อเกมเริ่มต้น Alice หยิบดัชนี aliceIndex ใดๆ ในช่วง [0, n - 1] และยืนนิ่งอยู่ตรงนั้น หาก nums[aliceIndex] == 1 Alice หยิบ nums[aliceIndex] ขึ้นมาและ nums[aliceIndex] จะกลายเป็น 0 (ซึ่งไม่นับเป็นการเคลื่อนไหว) หลังจากนั้น Alice สามารถทำการเคลื่อนไหวได้ไม่จำกัดจำนวนครั้ง (รวมถึงศูนย์) โดยในแต่ละการเคลื่อนไหว Alice ต้องทำการกระทำต่อไปนี้อย่างน้อยหนึ่งอย่างเท่านั้น:

เลือกดัชนีใดๆ j != aliceIndex โดยที่ nums[j] == 0 และตั้งค่า nums[j] = 1 การกระทำนี้สามารถทำได้สูงสุดไม่เกิน maxChanges ครั้ง เลือกดัชนี x และ y ที่อยู่ติดกันสองตัว (|x - y| == 1) โดยที่ nums[x] == 1, nums[y] == 0 จากนั้นสลับค่าของดัชนีเหล่านี้ (ตั้งค่า nums[y] = 1 และ nums[x] = 0) หาก y == aliceIndex อลิซจะหยิบดัชนีตัวหนึ่งหลังจากการเคลื่อนไหวนี้ และ nums[y] จะกลายเป็น 0

ส่งคืนจำนวนการเคลื่อนไหวขั้นต่ำที่อลิซต้องใช้เพื่อเลือก k ตัวพอดี

ตัวอย่างที่ 1:

อินพุต: nums = [1,1,0,0,0,1,1,0,0,1], k = 3, maxChanges = 1
เอาต์พุต: 3
คำอธิบาย: อลิซสามารถหยิบ 1 ได้ 3 ครั้งใน 3 ตา ถ้าอลิซทำสิ่งต่อไปนี้ในแต่ละตาเมื่อยืนอยู่ที่ aliceIndex == 1:

เมื่อเริ่มเกม อลิซหยิบ 1 ขึ้นมา และ nums[1] จะกลายเป็น 0 nums จะกลายเป็น [1,1,1,0,0,1,1,0,0,1]
เลือก j == 2 และดำเนินการประเภทแรก nums จะกลายเป็น [1,0,1,0,0,1,1,0,0,1]
เลือก x == 2 และ y == 1 และดำเนินการประเภทที่สอง nums จะกลายเป็น [1,1,0,0,0,1,1,0,0,1] เมื่อ y == aliceIndex อลิซจะหยิบอันหนึ่งขึ้นมา และ nums จะกลายเป็น [1,0,0,0,0,1,1,0,0,1]
เลือก x == 0 และ y == 1 แล้วดำเนินการประเภทที่สอง nums จะกลายเป็น [0,1,0,0,0,1,1,0,0,1] เมื่อ y == aliceIndex อลิซจะหยิบอันหนึ่งขึ้นมา และ nums จะกลายเป็น [0,0,0,0,0,0,1,1,0,0,1]

โปรดทราบว่าอลิซอาจหยิบอันหนึ่งขึ้นมา 3 อันได้โดยใช้ลำดับ 3 ท่าอื่นๆ
ตัวอย่างที่ 2:

อินพุต: nums = [0,0,0,0], k = 2, maxChanges = 3
เอาต์พุต: 4
คำอธิบาย: อลิซสามารถหยิบเลข 1 ได้ 2 ตัวใน 4 การเคลื่อนที่ หากอลิซทำสิ่งต่อไปนี้ในแต่ละการเคลื่อนที่เมื่อยืนอยู่ที่ aliceIndex == 0:

เลือก j == 1 และดำเนินการประเภทแรก nums จะกลายเป็น [0,1,0,0]
เลือก x == 1 และ y == 0 และดำเนินการประเภทที่สอง nums จะกลายเป็น [1,0,0,0] เมื่อ y == aliceIndex อลิซหยิบเลข 1 ขึ้นมาและ nums จะกลายเป็น [0,0,0,0]
เลือก j == 1 อีกครั้งและดำเนินการประเภทแรก nums จะกลายเป็น [0,1,0,0]
เลือก x == 1 และ y == 0 อีกครั้งและดำเนินการประเภทที่สอง nums จะกลายเป็น [1,0,0,0] เมื่อ y == aliceIndex อลิซจะหยิบอันหนึ่งขึ้นมาและ nums จะกลายเป็น [0,0,0,0]

ข้อจำกัด:

2 <= n <= 10^5
0 <= nums[i] <= 1
1 <= k <= 10^5
0 <= maxChanges <= 10^5
maxChanges + sum(nums) >= k

คุณจะได้รับจํานวนอาร์เรย์ไบนารีที่มีความยาว n จํานวนเต็มบวก k และจํานวนเต็มที่ไม่เป็นลบ maxChanges
อลิซเล่นเกมที่มีเป้าหมายคือให้อลิซหยิบ k หนึ่งจาก nums โดยใช้จํานวนการเคลื่อนไหวขั้นต่ํา เมื่อเกมเริ่มขึ้น อลิซจะหยิบดัชนี aliceIndex ใดๆ ในช่วง [0, n - 1] และยืนอยู่ที่นั่น ถ้า nums[aliceIndex] == 1 อลิซหยิบหนึ่งและ nums[aliceIndex] กลายเป็น 0 (ไม่นับเป็นการย้าย) หลังจากนี้ อลิซสามารถเคลื่อนไหวได้กี่ครั้ง (รวมถึงศูนย์) โดยในแต่ละครั้ง อลิซต้องดําเนินการอย่างใดอย่างหนึ่งต่อไปนี้:

เลือกดัชนีใด ๆ j != aliceIndex เพื่อให้ nums[j] == 0 และตั้งค่า nums[j] = 1 การดําเนินการนี้สามารถทําได้มากที่สุด maxChanges
เลือกดัชนีสองดัชนีที่อยู่ติดกัน x และ y (|x - y| == 1) เพื่อให้ nums[x] == 1, nums[y] == 0 จากนั้นสลับค่า (ตั้งค่า nums[y] = 1 และ nums[x] = 0) ถ้า y == aliceIndex อลิซจะหยิบอันหลังจากการเคลื่อนไหวนี้และ nums[y] จะกลายเป็น 0

ส่งคืนจํานวนการเคลื่อนไหวขั้นต่ําที่อลิซต้องการเพื่อเลือก k คน

ตัวอย่างที่ 1:

อินพุต: nums = [1,1,0,0,0,1,1,0,0,1], k = 3, maxChanges = 1
เอาท์พุต: 3
คําอธิบาย: อลิซสามารถหยิบได้ 3 อันใน 3 การเคลื่อนไหวหากอลิซดําเนินการต่อไปนี้ในแต่ละการเคลื่อนไหวเมื่อยืนที่ aliceIndex == 1:

ในตอนเริ่มเกม อลิซหยิบหนึ่งและตัวเลข[1] กลายเป็น 0 nums กลายเป็น [1,1,1,0,0,1,1,0,0,1]
เลือก j == 2 และดําเนินการประเภทแรก nums กลายเป็น [1,0,1,0,0,1,1,0,0,1]
เลือก x == 2 และ y == 1 และดําเนินการประเภทที่สอง nums กลายเป็น [1,1,0,0,0,1,1,0,0,1] เมื่อ y == aliceIndex อลิซหยิบหนึ่งและจํานวนกลายเป็น [1,0,0,0,0,1,1,0,0,1]
เลือก x == 0 และ y == 1 และดําเนินการประเภทที่สอง nums กลายเป็น [0,1,0,0,0,1,1,0,0,1] เมื่อ y == aliceIndex อลิซหยิบหนึ่งและจํานวนกลายเป็น [0,0,0,0,0,1,1,0,0,1]

โปรดทราบว่าอาจเป็นไปได้ที่อลิซจะหยิบ 3 อันโดยใช้ลําดับอื่น ๆ ของ 3 ท่า

ตัวอย่างที่ 2:

อินพุต: nums = [0,0,0,0], k = 2, maxChanges = 3
เอาท์พุต: 4
คําอธิบาย: อลิซสามารถหยิบได้ 2 อันใน 4 การเคลื่อนไหวหากอลิซดําเนินการต่อไปนี้ในแต่ละการเคลื่อนไหวเมื่อยืนที่ aliceIndex == 0:

เลือก j == 1 และดําเนินการประเภทแรก nums กลายเป็น [0,1,0,0]
เลือก x == 1 และ y == 0 และดําเนินการประเภทที่สอง nums กลายเป็น [1,0,0,0] เมื่อ y == aliceIndex อลิซหยิบหนึ่งและจํานวนกลายเป็น [0,0,0,0]
เลือก j == 1 อีกครั้งและดําเนินการประเภทแรก nums กลายเป็น [0,1,0,0]
เลือก x == 1 และ y == 0 อีกครั้ง และดําเนินการประเภทที่สอง nums กลายเป็น [1,0,0,0] เมื่อ y == aliceIndex อลิซหยิบหนึ่งและจํานวนกลายเป็น [0,0,0,0]

ข้อจํากัด:

2 <= n <= 10^5
0 <= nums[i] <= 1
1 <= k <= 10^5
0 <= maxChanges <= 10^5
maxChanges + sum(nums) >= k


ให้สตริง s คืนค่าความยาวสูงสุดของซับสตริงที่มีอักขระไม่เกินสองครั้งในแต่ละตัว.

ตัวอย่างที่ 1:

Input: s = "bcbbbcba"
Output: 4
คำอธิบาย:
ซับสตริงต่อไปนี้มีความยาว 4 และมีตัวอักษรแต่ละตัวไม่เกินสองครั้ง: 'bcbbbcba'.

ตัวอย่างที่ 2:

Input: s = "aaaa"
Output: 2
คำอธิบาย:
ซับสตริงต่อไปนี้มีความยาว 2 และมีตัวอักษรแต่ละตัวไม่เกินสองครั้ง: "aaaa".

ข้อจำกัด:

2 <= s.length <= 100
s ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น

กำหนดสตริง s ให้ส่งคืนความยาวสูงสุดของสตริงย่อยที่ประกอบด้วยอักขระแต่ละตัวได้ไม่เกิน 2 ตัว

ตัวอย่าง 1:

อินพุต: s = "bcbbbcba"
เอาต์พุต: 4
คำอธิบาย:
สตริงย่อยต่อไปนี้มีความยาว 4 และประกอบด้วยอักขระแต่ละตัวได้ไม่เกิน 2 ตัว: "bcbbbcba"
ตัวอย่าง 2:

อินพุต: s = "aaaa"
เอาต์พุต: 2
คำอธิบาย:
สตริงย่อยต่อไปนี้มีความยาว 2 และประกอบด้วยอักขระแต่ละตัวได้ไม่เกิน 2 ตัว: "aaaa"

ข้อจำกัด:

2 <= s.length <= 100
s ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น

เมื่อกําหนดสตริง s ให้ส่งคืนความยาวสูงสุดของสตริงย่อยเพื่อให้มีอักขระแต่ละตัวที่ปรากฏได้สูงสุดสองครั้ง

ตัวอย่างที่ 1:

อินพุต: s = "bcbbbcba"
เอาท์พุต: 4
การอธิบาย:
สตริงย่อยต่อไปนี้มีความยาว 4 และประกอบด้วยอักขระแต่ละตัวมากที่สุดสองครั้ง: "bcbbbcba"
ตัวอย่างที่ 2:

อินพุต: s = "aaaa"
เอาท์พุต: 2
การอธิบาย:
สตริงย่อยต่อไปนี้มีความยาว 2 และมีอักขระแต่ละตัวไม่เกินสองครั้ง: "aaaa"

ข้อจํากัด:

2 <= s.length <= 100
s ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น


คุณได้รับจำนวนเต็มบวก k โดยเริ่มต้นคุณมีอาร์เรย์ nums = [1] คุณสามารถทำการดำเนินการใด ๆ ต่อไปนี้กับอาร์เรย์ได้หลายครั้ง (อาจจะเป็นศูนย์ครั้งก็ได้):

เลือกองค์ประกอบใด ๆ ในอาร์เรย์และเพิ่มค่าของมันขึ้น 1
ทำสำเนาองค์ประกอบใด ๆ ในอาร์เรย์และเพิ่มมันไปยังท้ายอาร์เรย์

คืนค่าจำนวนการดำเนินการขั้นต่ำที่จำเป็นเพื่อทำให้ผลรวมของสมาชิกในอาร์เรย์สุดท้ายมีค่ามากกว่าหรือเท่ากับ k.

ตัวอย่างที่ 1:

Input: k = 11
Output: 5
คำอธิบาย:
เราสามารถทำการดำเนินการต่อไปนี้กับอาร์เรย์ nums = [1]:

เพิ่มค่าองค์ประกอบขึ้น 1 สามครั้ง อาร์เรย์ที่ได้คือ nums = [4].
ทำซ้ำองค์ประกอบสองครั้ง อาร์เรย์ที่ได้คือ nums = [4, 4, 4].

ผลรวมของอาร์เรย์สุดท้ายคือ 4 + 4 + 4 = 12 ซึ่งมากกว่าหรือเท่ากับ k = 11.
จำนวนการดำเนินการทั้งหมดที่ทำคือ 3 + 2 = 5.

ตัวอย่างที่ 2:

Input: k = 1
Output: 0
คำอธิบาย:
ผลรวมของอาร์เรย์ต้นฉบับมีค่ามากกว่าหรือเท่ากับ 1 แล้ว ดังนั้นจึงไม่จำเป็นต้องทำการดำเนินการใด ๆ

ข้อจำกัด:

\( 1 \leq k \leq 10^5 \)

คุณจะได้รับจำนวนเต็มบวก k เริ่มแรกคุณมีอาร์เรย์ nums = [1]
คุณสามารถดำเนินการใด ๆ ต่อไปนี้ในอาร์เรย์ได้ทุกครั้ง (อาจเป็นศูนย์):

เลือกองค์ประกอบใด ๆ ในอาร์เรย์และเพิ่มมูลค่า 1
ทำซ้ำองค์ประกอบใด ๆ ในอาร์เรย์และเพิ่มลงในส่วนท้ายของอาร์เรย์

ส่งคืนจำนวนขั้นต่ำของการดำเนินการที่จำเป็นในการสร้างผลรวมขององค์ประกอบของอาร์เรย์สุดท้ายที่มากกว่าหรือเท่ากับ k

ตัวอย่างที่ 1:

อินพุต: k = 11
เอาท์พุท: 5
คำอธิบาย:
เราสามารถดำเนินการต่อไปนี้ในอาร์เรย์ nums = [1]:

เพิ่มองค์ประกอบ 1 สามครั้ง อาร์เรย์ที่ได้คือ nums = [4]
ทำซ้ำองค์ประกอบสองครั้ง อาร์เรย์ที่ได้คือ nums = [4,4,4]

ผลรวมของอาร์เรย์สุดท้ายคือ 4 + 4 + 4 = 12 ซึ่งมากกว่าหรือเท่ากับ k = 11
จำนวนการดำเนินการทั้งหมดที่ดำเนินการคือ 3 + 2 = 5

ตัวอย่างที่ 2:

อินพุต: k = 1
เอาท์พุท: 0
คำอธิบาย:
ผลรวมของอาร์เรย์ดั้งเดิมนั้นสูงกว่าหรือเท่ากับ 1 ดังนั้นจึงไม่จำเป็นต้องมีการดำเนินการ

ข้อ จำกัด :

1 <= k <= 10^5

คุณจะได้รับจำนวนเต็มบวก k ในตอนแรก คุณมีอาร์เรย์ nums = [1]
คุณสามารถดำเนินการต่อไปนี้กับอาร์เรย์ได้หลายครั้งเท่าที่ต้องการ (อาจเป็นศูนย์ก็ได้):

เลือกองค์ประกอบใดก็ได้ในอาร์เรย์และเพิ่มค่าทีละ 1
ทำซ้ำองค์ประกอบใดก็ได้ในอาร์เรย์และเพิ่มที่ท้ายอาร์เรย์

ส่งคืนจำนวนการดำเนินการขั้นต่ำที่จำเป็นเพื่อให้ผลรวมขององค์ประกอบของอาร์เรย์สุดท้ายมากกว่าหรือเท่ากับ k

ตัวอย่างที่ 1:

อินพุต: k = 11
เอาต์พุต: 5
คำอธิบาย:
เราสามารถดำเนินการต่อไปนี้กับอาร์เรย์ nums = [1] ได้:

เพิ่มองค์ประกอบทีละ 1 สามครั้ง อาร์เรย์ที่ได้คือ nums = [4]
ทำซ้ำองค์ประกอบสองครั้ง อาร์เรย์ที่ได้คือ nums = [4,4,4]
ผลรวมของอาร์เรย์สุดท้ายคือ 4 + 4 + 4 = 12 ซึ่งมากกว่าหรือเท่ากับ k = 11
จำนวนการดำเนินการทั้งหมดที่ดำเนินการคือ 3 + 2 = 5

ตัวอย่างที่ 2:

อินพุต: k = 1
เอาต์พุต: 0
คำอธิบาย:
ผลรวมของอาร์เรย์ดั้งเดิมมีค่ามากกว่าหรือเท่ากับ 1 อยู่แล้ว ดังนั้นจึงไม่จำเป็นต้องดำเนินการใดๆ

ข้อจำกัด:

1 <= k <= 10^5


ปัญหาเกี่ยวข้องกับการติดตามความถี่ของ ID ในคอลเลกชันที่เปลี่ยนแปลงไปตามเวลา คุณมีอาร์เรย์จำนวนเต็มสองอาร์เรย์ คือ nums และ freq ซึ่งมีความยาวเท่ากัน n องค์ประกอบแต่ละองค์ประกอบใน nums แสดงถึง ID และองค์ประกอบที่สอดคล้องกันใน freq ระบุจำนวนครั้งที่ควรเพิ่มหรือลบ ID นั้นออกจากคอลเลกชันในแต่ละขั้นตอน

การเพิ่ม ID: หาก freq[i] เป็นค่าบวก แสดงว่า freq[i] ID ที่มีค่า nums[i] จะถูกเพิ่มลงในคอลเลกชันในขั้นตอนที่ i
การลบ ID: หาก freq[i] เป็นค่าลบ แสดงว่า -freq[i] ID ที่มีค่า nums[i] จะถูกลบออกจากคอลเลกชันในขั้นตอนที่ i

ส่งคืนอาร์เรย์ ans ที่มีความยาว n โดยที่ ans[i] แสดงถึงจำนวน ID ที่เกิดขึ้นบ่อยที่สุดในคอลเลกชันหลังจากขั้นตอนที่ i^ หากคอลเลกชันว่างเปล่าในขั้นตอนใดก็ตาม ans[i] ควรเป็น 0 สำหรับขั้นตอนนั้น

ตัวอย่างที่ 1:

อินพุต: nums = [2,3,2,1], freq = [3,2,-3,1]
เอาต์พุต: [3,3,2,2]
คำอธิบาย:
หลังจากขั้นตอน 0 เรามี ID 3 ตัวที่มีค่า 2 ดังนั้น ans[0] = 3
หลังจากขั้นตอนที่ 1 เรามี ID 3 ตัวที่มีค่า 2 และ ID 2 ตัวที่มีค่า 3 ดังนั้น ans[1] = 3
หลังจากขั้นตอนที่ 2 เรามี ID 2 ตัวที่มีค่า 3 ดังนั้น ans[2] = 2
หลังจากขั้นตอนที่ 3 เรามี ID 2 ตัวที่มีค่า 3 และ ID 1 ตัวที่มีค่า 1 ดังนั้น ans[3] = 2

ตัวอย่างที่ 2:

อินพุต: nums = [5,5,3], freq = [2,-2,1]
เอาต์พุต: [2,0,1]
คำอธิบาย:
หลังจากขั้นตอน 0 เรามี ID 2 ตัวที่มีค่าเท่ากับ 5 ดังนั้น ans[0] = 2
หลังจากขั้นตอนที่ 1 ไม่มี ID ดังนั้น ans[1] = 0
หลังจากขั้นตอนที่ 2 เรามี ID 1 ตัวที่มีค่าเท่ากับ 3 ดังนั้น ans[2] = 1

ข้อจำกัด:

1 <= nums.length == freq.length <= 10^5
1 <= nums[i] <= 10^5
-10^5 <= freq[i] <= 10^5
freq[i] != 0
อินพุตจะถูกสร้างขึ้นเพื่อให้การเกิดขึ้นของ ID จะไม่เป็นค่าลบในขั้นตอนใดๆ

ปัญหาเกี่ยวข้องกับการติดตามความถี่ของ ID ในคอลเลกชันที่เปลี่ยนแปลงตลอดเวลา คุณมีอาร์เรย์จำนวนเต็มสองตัว nums และ freq ที่มีความยาวเท่ากัน n แต่ละองค์ประกอบใน nums แสดงถึง ID และองค์ประกอบที่เกี่ยวข้องใน freq ระบุจำนวนครั้งที่ควรเพิ่ม ID หรือลบออกจากคอลเลกชันในแต่ละขั้นตอน

การเพิ่ม IDs: หาก freq [i] เป็นบวกมันหมายถึง freq [i] ids ที่มีค่า nums [i] จะถูกเพิ่มเข้าไปในคอลเลกชันที่ขั้นตอนที่ 1
การลบ IDs: หาก freq [i] เป็นลบมันหมายถึง -freq [i] ids ที่มีค่า nums [i] จะถูกลบออกจากคอลเลกชันในขั้นตอนที่ 1

ส่งคืนอาร์เรย์ที่มีความยาว n โดยที่ ANS [i] แสดงถึงจำนวน ID ที่พบบ่อยที่สุดในคอลเลกชันหลังจากขั้นตอน i^th หากคอลเลกชันว่างเปล่าในทุกขั้นตอน ans [i] ควรเป็น 0 สำหรับขั้นตอนนั้น

ตัวอย่างที่ 1:

อินพุต: nums = [2,3,2,1], freq = [3,2, -3,1]
ผลลัพธ์: [3,3,2,2]
คำอธิบาย:
หลังจากขั้นตอนที่ 0 เรามี 3 IDs ที่มีค่า 2 ดังนั้น ans [0] = 3
หลังจากขั้นตอนที่ 1 เรามี 3 IDs ที่มีค่า 2 และ 2 ID ที่มีค่า 3 ดังนั้น ans [1] = 3
หลังจากขั้นตอนที่ 2 เรามี 2 IDs ที่มีค่า 3 ดังนั้น ans [2] = 2
หลังจากขั้นตอนที่ 3 เรามี 2 IDs ที่มีค่า 3 และ 1 ID ที่มีค่า 1 ดังนั้น ans [3] = 2

ตัวอย่างที่ 2:

อินพุต: nums = [5,5,3], freq = [2, -2,1]
เอาท์พุท: [2,0,1]
คำอธิบาย:
หลังจากขั้นตอนที่ 0 เรามี 2 IDs ที่มีค่า 5 ดังนั้น ans [0] = 2
หลังจากขั้นตอนที่ 1 ไม่มี ID ดังนั้น ans [1] = 0
หลังจากขั้นตอนที่ 2 เรามี 1 ID ที่มีค่า 3 ดังนั้น ans [2] = 1

ข้อ จำกัด :

1 <= nums.length == freq.length <= 10^5
1 <= nums [i] <= 10^5
-10^5 <= freq [i] <= 10^5
freq [i]! = 0
อินพุตถูกสร้างขึ้นเพื่อให้เกิดขึ้นของ ID จะไม่เป็นลบในขั้นตอนใด ๆ


คุณได้รับอาร์เรย์สองชุดที่ประกอบด้วยสตริง คือ wordsContainer และ wordsQuery
สำหรับแต่ละคำใน wordsQuery[i] คุณต้องค้นหาสตริงจาก wordsContainer ที่มีส่วนต่อท้ายที่เหมือนกันยาวที่สุดกับ wordsQuery[i] หากมีสตริงสองตัวหรือมากกว่าที่มีส่วนต่อท้ายที่เหมือนกันยาวที่สุดใน wordsContainer ให้ค้นหาสตริงที่มีความยาวสั้นที่สุด หากมีสตริงสองตัวหรือมากกว่าที่มีความยาวสั้นที่สุดเท่ากัน ให้ค้นหาสตริงที่เกิดขึ้นก่อนใน wordsContainer
คืนค่าอาร์เรย์ของจำนวนเต็ม ans โดยที่ ans[i] คือดัชนีของสตริงใน wordsContainer ที่มีส่วนต่อท้ายที่ยาวที่สุดร่วมกับ wordsQuery[i]

ตัวอย่างที่ 1:

Input: `wordsContainer = ["abcd","bcd","xbcd"]`, `wordsQuery = ["cd","bcd","xyz"]`
Output: `[1,1,1]`
คำอธิบาย:
มาดูแต่ละคำใน wordsQuery[i] แยกกันเถอะ

สำหรับ wordsQuery[0] = "cd" สตริงจาก wordsContainer ที่มีส่วนท้ายที่เหมือนกันยาวที่สุด "cd" จะอยู่ที่ดัชนี 0, 1 และ 2 ในจำนวนนี้ คำตอบคือสตริงที่ดัชนี 1 เพราะมันมีความยาวสั้นที่สุดที่ 3
สำหรับ wordsQuery[1] = "bcd" สตริงจาก wordsContainer ที่มีส่วนท้ายร่วมกันที่ยาวที่สุด "bcd" จะอยู่ที่ดัชนี 0, 1 และ 2 ในจำนวนนี้ คำตอบคือสตริงที่ดัชนี 1 เพราะมันมีความยาวสั้นที่สุดที่ 3.
สำหรับ wordsQuery[2] = "xyz" ไม่มีสตริงจาก wordsContainer ที่มีส่วนท้ายร่วมกัน ดังนั้นส่วนท้ายที่ยาวที่สุดที่มีร่วมกันคือ "" ซึ่งมีร่วมกับสตริงที่ดัชนี 0, 1 และ 2 ในจำนวนนี้ คำตอบคือสตริงที่ดัชนี 1 เพราะมันมีความยาวสั้นที่สุดที่ 3.

ตัวอย่างที่ 2:

Input: `wordsContainer = ["abcdefgh","poiuygh","ghghgh"]`, `wordsQuery = ["gh","acbfgh","acbfegh"]`
Output: `[2,0,2]`
คำอธิบาย:
มาดูแต่ละคำใน wordsQuery[i] แยกกันเถอะ:

สำหรับ wordsQuery[0] = "gh" สตริงจาก wordsContainer ที่มีส่วนท้ายร่วมกันที่ยาวที่สุด "gh" จะอยู่ที่ดัชนี 0, 1 และ 2 ในจำนวนนี้ คำตอบคือสตริงที่ดัชนี 2 เพราะมันมีความยาวสั้นที่สุดที่ 6.
สำหรับ wordsQuery[1] = "acbfgh" จะมีเพียงสตริงที่ดัชนี 0 เท่านั้นที่มีส่วนท้ายที่ยาวที่สุดร่วมกันคือ "fgh" ดังนั้นมันจึงเป็นคำตอบ แม้ว่าสตริงที่ดัชนี 2 จะสั้นกว่า
สำหรับ wordsQuery[2] = "acbfegh" สตริงจาก wordsContainer ที่มีส่วนท้ายร่วมกันที่ยาวที่สุด "gh" จะอยู่ที่ดัชนี 0, 1 และ 2 ในจำนวนนี้ คำตอบคือสตริงที่ดัชนี 2 เพราะมันมีความยาวสั้นที่สุดที่ 6.

ข้อจำกัด:

1 <= `wordsContainer.length`, `wordsQuery.length` <= 10^4
1 <= `wordsContainer[i].length` <= 5 * 10^3
1 <= `wordsQuery[i].length` <= 5 * 10^3
wordsContainer[i] ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น
wordsQuery[i] ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น
ผลรวมของ wordsContainer[i].length สูงสุดไม่เกิน 5 * 10^5
ผลรวมของ wordsQuery[i].length สูงสุดไม่เกิน 5 * 10^5

คุณจะได้รับอาร์เรย์ของสตริงสองชุด ได้แก่ wordsContainer และ wordsQuery
สำหรับแต่ละ wordsQuery[i] คุณต้องค้นหาสตริงจาก wordsContainer ที่มีคำต่อท้ายร่วมที่ยาวที่สุดด้วย wordsQuery[i] หากมีสตริงสองรายการขึ้นไปใน wordsContainer ที่มีคำต่อท้ายร่วมที่ยาวที่สุด ให้ค้นหาสตริงที่มีความยาวน้อยที่สุด หากมีสตริงสองรายการขึ้นไปที่มีความยาวน้อยที่สุดเท่ากัน ให้ค้นหาสตริงที่เกิดขึ้นก่อนหน้านี้ใน wordsContainer
ส่งคืนอาร์เรย์ของจำนวนเต็ม ans โดยที่ ans[i] คือดัชนีของสตริงใน wordsContainer ที่มีคำต่อท้ายร่วมที่ยาวที่สุดด้วย wordsQuery[i]

ตัวอย่างที่ 1:

อินพุต: wordsContainer = ["abcd","bcd","xbcd"], wordsQuery = ["cd","bcd","xyz"]
เอาต์พุต: [1,1,1]
คำอธิบาย:
มาดูแต่ละ wordsQuery[i] แยกกัน:

สำหรับ wordsQuery[0] = "cd" สตริงจาก wordsContainer ที่มีคำต่อท้ายร่วมที่ยาวที่สุด "cd" จะมีดัชนี 0, 1 และ 2 ในจำนวนนี้ คำตอบคือสตริงที่ดัชนี 1 เนื่องจากมีความยาวสั้นที่สุดที่ 3
สำหรับ wordsQuery[1] = "bcd" สตริงจาก wordsContainer ที่มีคำต่อท้ายร่วมที่ยาวที่สุดที่ "bcd" จะมีดัชนี 0, 1 และ 2 ในจำนวนนี้ คำตอบคือสตริงที่ดัชนี 1 เนื่องจากมีความยาวสั้นที่สุดที่ 3
สำหรับ wordsQuery[2] = "xyz" ไม่มีสตริงจาก wordsContainer ที่มีคำต่อท้ายร่วมกัน ดังนั้นคำต่อท้ายทั่วไปที่ยาวที่สุดคือ "" ซึ่งใช้ร่วมกับสตริงที่ดัชนี 0, 1 และ 2 ในจำนวนนี้ คำตอบคือสตริงที่ดัชนี 1 เนื่องจากมีความยาวสั้นที่สุดคือ 3

ตัวอย่างที่ 2:

อินพุต: wordsContainer = ["abcdefgh","poiuygh","ghghgh"], wordsQuery = ["gh","acbfgh","acbfegh"]
เอาต์พุต: [2,0,2]
คำอธิบาย:
มาดูแต่ละ wordsQuery[i] แยกกัน:

สำหรับ wordsQuery[0] = "gh" สตริงจาก wordsContainer ที่ใช้คำต่อท้ายทั่วไปที่ยาวที่สุด "gh" จะอยู่ในดัชนี 0, 1 และ 2 ในจำนวนนี้ คำตอบคือสตริงที่ดัชนี 2 เนื่องจากมีความยาวสั้นที่สุดคือ 6
สำหรับ wordsQuery[1] = "acbfgh" เฉพาะสตริงที่ดัชนี 0 เท่านั้นที่ใช้คำต่อท้ายทั่วไปที่ยาวที่สุด "fgh" ดังนั้นนี่คือคำตอบ แม้ว่าสตริงที่ดัชนี 2 จะสั้นกว่าก็ตาม
สำหรับ wordsQuery[2] = "acbfegh" สตริงจาก wordsContainer ที่มีคำต่อท้ายร่วมที่ยาวที่สุด "gh" จะมีดัชนี 0, 1 และ 2 ในจำนวนนี้ คำตอบคือสตริงที่ดัชนี 2 เนื่องจากมีความยาวสั้นที่สุดคือ 6

ข้อจำกัด:

1 <= wordsContainer.length, wordsQuery.length <= 10^4
1 <= wordsContainer[i].length <= 5 * 10^3
1 <= wordsQuery[i].length <= 5 * 10^3
wordsContainer[i] ประกอบด้วยเฉพาะตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น
wordsQuery[i] ประกอบด้วยเฉพาะตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น
ผลรวมของ wordsContainer[i].length มีค่าไม่เกิน 5 * 10^5
ผลรวมของ wordsQuery[i].length มีค่าไม่เกิน 5 * 10^5