ให้พิจารณาสตริงที่ชื่อว่า word ทำการบีบอัดมันโดยใช้ขั้นตอนดังต่อไปนี้:

เริ่มต้นด้วยสตริงที่ว่างเปล่า comp ในขณะที่ word ไม่ว่างเปล่า ให้ใช้การดำเนินการดังต่อไปนี้:

1. ลบพรีฟิกที่มีความยาวสูงสุดของ word ที่ประกอบด้วยอักขระเดียว c ที่ทำซ้ำไม่เกิน 9 ครั้ง
2. เพิ่มความยาวของพรีฟิกตามด้วย c ลงใน comp

คืนสตริง comp.

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

Input: word = "abcde"
Output: "1a1b1c1d1e"
คำอธิบาย:
เริ่มต้น, comp = "". ทำการดำเนินการ 5 ครั้ง โดยเลือก "a", "b", "c", "d", และ "e" เป็น prefix ในแต่ละการดำเนินการ
สำหรับแต่ละ prefix ให้เพิ่ม "1" ตามด้วยตัวอักษรลงใน comp.

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

Input: word = "aaaaaaaaaaaaaabb"
Output: "9a5a2b"
คำอธิบาย:
เริ่มต้น, comp = "". ทำการดำเนินการ 3 ครั้ง โดยเลือก "aaaaaaaaa", "aaaaa", และ "bb" เป็นคำนำหน้าในแต่ละการดำเนินการ

สำหรับพรีฟิก "aaaaaaaaa" ให้เพิ่ม "9" ตามด้วย "a" ไปที่ comp
สำหรับพรีฟิก "aaaaa" ให้เพิ่ม "5" ตามด้วย "a" ไปที่ comp
สำหรับพรีฟิก "bb" ให้เพิ่ม "2" ตามด้วย "b" ไปที่ comp

เงื่อนไข:

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

กำหนดคำสตริง ให้บีบอัดโดยใช้อัลกอริทึมต่อไปนี้:

เริ่มต้นด้วยสตริงว่าง comp ในขณะที่ word ไม่ว่าง ให้ใช้การดำเนินการต่อไปนี้:

ลบคำนำหน้าที่มีความยาวสูงสุดซึ่งประกอบด้วยอักขระ c ตัวเดียวซ้ำกันไม่เกิน 9 ครั้ง
ผนวกความยาวของคำนำหน้าตามด้วย c ลงใน comp

ส่งคืนสตริง comp

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

อินพุต: word = "abcde"
เอาต์พุต: "1a1b1c1d1e"
คำอธิบาย:
ในขั้นแรก comp = "" ใช้การดำเนินการ 5 ครั้งโดยเลือก "a", "b", "c", "d" และ "e" เป็นคำนำหน้าในแต่ละการดำเนินการ
สำหรับคำนำหน้าแต่ละคำ ให้ผนวก "1" ตามด้วยอักขระลงใน comp

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

อินพุต: word = "aaaaaaaaaaaaaaabb"
เอาต์พุต: "9a5a2b"
คำอธิบาย:
ในขั้นแรก comp = "" ใช้การดำเนินการ 3 ครั้ง โดยเลือก "aaaaaaaaa", "aaaaa" และ "bb" เป็นคำนำหน้าในแต่ละการดำเนินการ

สำหรับคำนำหน้า "aaaaaaaaa" ให้ต่อท้าย "9" ตามด้วย "a" ลงในส่วนเปรียบเทียบ
สำหรับคำนำหน้า "aaaaa" ให้ต่อท้าย "5" ตามด้วย "a" ลงในส่วนเปรียบเทียบ
สำหรับคำนำหน้า "bb" ให้ต่อท้าย "2" ตามด้วย "b" ลงในส่วนเปรียบเทียบ

ข้อจำกัด:

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

กำหนดสตริง word ให้บีบอัดโดยใช้อัลกอริทึมต่อไปนี้:

เริ่มต้นด้วยสตริงว่าง comp ขณะที่ word ไม่ว่าง ให้ใช้การดำเนินการดังนี้:

ลบคำนำหน้าที่มีความยาวสูงสุดของ word ที่ประกอบด้วยอักขระเดียว c ซ้ำมากที่สุด 9 ครั้ง
เพิ่มความยาวของคำนำหน้าตามด้วย c ไปที่ comp

ส่งกลับสตริง comp

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

Input: word = "abcde"
Output: "1a1b1c1d1e"
คำอธิบาย:
เริ่มต้น comp = "". ใช้การดำเนินการ 5 ครั้ง โดยเลือก "a", "b", "c", "d", และ "e" เป็นคำนำหน้าในแต่ละการดำเนินการ
สำหรับแต่ละคำนำหน้า เพิ่ม "1" ตามด้วยตัวอักษรไปที่ comp

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

Input: word = "aaaaaaaaaaaaaabb"
Output: "9a5a2b"
คำอธิบาย:
เริ่มต้น comp = "". ใช้การดำเนินการ 3 ครั้ง โดยเลือก "aaaaaaaaa", "aaaaa", และ "bb" เป็นคำนำหน้าในแต่ละการดำเนินการ

สำหรับคำนำหน้า "aaaaaaaaa" เพิ่ม "9" ตามด้วย "a" ไปที่ comp
สำหรับคำนำหน้า "aaaaa" เพิ่ม "5" ตามด้วย "a" ไปที่ comp
สำหรับคำนำหน้า "bb" เพิ่ม "2" ตามด้วย "b" ไปที่ comp

เงื่อนไข:

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


คุณจะได้รับตัวเลขอาร์เรย์ที่ประกอบด้วยจํานวนเต็ม คุณยังได้รับแบบสอบถามอาร์เรย์ 2 มิติ โดยที่ queries[i] = [pos_i, x_i]
สําหรับแบบสอบถาม i ก่อนอื่นเราตั้งค่า nums[pos_i] เท่ากับ x_i จากนั้นเราคํานวณคําตอบสําหรับแบบสอบถาม i ซึ่งเป็นผลรวมสูงสุดของลําดับย่อยของ nums โดยที่ไม่มีการเลือกองค์ประกอบที่อยู่ติดกันสององค์ประกอบ
ส่งคืนผลรวมของคําตอบสําหรับแบบสอบถามทั้งหมด
เนื่องจากคําตอบสุดท้ายอาจมีขนาดใหญ่มาก ให้ส่งคืนโมดูโล 10^9 + 7
ลําดับย่อยคืออาร์เรย์ที่สามารถรับมาจากอาร์เรย์อื่นโดยการลบองค์ประกอบบางส่วนหรือไม่มีเลยโดยไม่เปลี่ยนลําดับขององค์ประกอบที่เหลือ

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

อินพุต: nums = [3,5,9], queries = [[1,-2],[0,-3]]
เอาท์พุต: 21
การอธิบาย:
หลังจากคิวรีที่ 1^st nums = [3,-2,9] และผลรวมสูงสุดของลําดับย่อยที่มีองค์ประกอบที่ไม่อยู่ติดกันคือ 3 + 9 = 12
หลังจากคิวรีที่ 2^nd nums = [-3,-2,9] และผลรวมสูงสุดของลําดับย่อยที่มีองค์ประกอบที่ไม่อยู่ติดกันคือ 9

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

อินพุต: nums = [0,-1], queries = [[0,-5]]
เอาท์พุต: 0
การอธิบาย:
หลังจากคิวรีที่ 1^st nums = [-5,-1] และผลรวมสูงสุดของลําดับย่อยที่มีองค์ประกอบที่ไม่อยู่ติดกันคือ 0 (การเลือกลําดับย่อยที่ว่างเปล่า)

ข้อจํากัด:

1 <= nums.length <= 5 * 10^4
-10^5 <= nums[i] <= 10^5
1 <= queries.length <= 5 * 10^4
queries[i] == [pos_i, x_i]
0 <= pos_i <= nums.length - 1
-10^5 <= x_i <= 10^5

คุณได้รับอาร์เรย์ nums ที่ประกอบด้วยจำนวนเต็ม นอกจากนี้คุณยังได้รับอาร์เรย์ 2 มิติ queries โดยที่ queries[i] = [pos_i, x_i] สำหรับคำถาม i เราจะตั้งค่า nums[pos_i] ให้เท่ากับ x_i ก่อน จากนั้นเราจะคำนวณคำตอบสำหรับคำถาม i ซึ่งคือผลรวมสูงสุดของอนุกรมย่อยของ nums ที่ไม่มีการเลือกองค์ประกอบที่อยู่ติดกันสององค์ประกอบ
ส่งคืนผลรวมของคำตอบสำหรับทุกคำถาม
เนื่องจากคำตอบสุดท้ายอาจมีค่ามาก จึงส่งคืนผลลัพธ์โดยใช้โมดูโล 10^9 + 7
อนุกรมย่อยคืออาร์เรย์ที่สามารถได้มาจากอาร์เรย์อื่นโดยการลบบางส่วนหรือไม่ลบเลย โดยไม่เปลี่ยนลำดับขององค์ประกอบที่เหลืออยู่

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

Input: nums = [3,5,9], queries = [[1,-2],[0,-3]]
Output: 21
คำอธิบาย:
หลังจากการสอบถามครั้งที่ 1, nums = [3,-2,9] และผลรวมสูงสุดของอนุกรมย่อยที่มีองค์ประกอบที่ไม่ติดกันคือ 3 + 9 = 12.
หลังจากการสอบถามครั้งที่ 2, nums = [-3,-2,9] และผลรวมสูงสุดของอนุกรมย่อยที่มีองค์ประกอบที่ไม่ติดกันคือ 9.

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

Input: nums = [0,-1], queries = [[0,-5]]
Output: 0
คำอธิบาย:
หลังจากการสอบถามครั้งที่ 1, nums = [-5,-1] และผลรวมสูงสุดของอนุกรมย่อยที่มีสมาชิกไม่ติดกันคือ 0 (เลือกอนุกรมย่อยที่ว่างเปล่า)

ข้อจำกัด:

1 <= nums.length <= 5 * 10^4
-10^5 <= nums[i] <= 10^5
1 <= queries.length <= 5 * 10^4
queries[i] == [pos_i, x_i]
0 <= pos_i <= nums.length - 1
-10^5 <= x_i <= 10^5

คุณจะได้รับอาร์เรย์ nums ที่ประกอบด้วยจำนวนเต็ม คุณจะได้รับแบบสอบถามอาร์เรย์ 2 มิติ โดยที่ queries[i] = [pos_i, x_i]
สำหรับแบบสอบถาม i ก่อนอื่น เราจะตั้งค่า nums[pos_i] ให้เท่ากับ x_i จากนั้นเราจะคำนวณคำตอบสำหรับแบบสอบถาม i ซึ่งเป็นผลรวมสูงสุดของลำดับย่อยของ nums ที่ไม่มีการเลือกองค์ประกอบที่อยู่ติดกันสององค์ประกอบ
ส่งคืนผลรวมของคำตอบสำหรับแบบสอบถามทั้งหมด
เนื่องจากคำตอบสุดท้ายอาจมีค่ามาก ให้ส่งคืนโมดูโล 10^9 + 7
ลำดับย่อยคืออาร์เรย์ที่สามารถหาได้จากอาร์เรย์อื่นโดยการลบองค์ประกอบบางส่วนหรือไม่มีองค์ประกอบเลยโดยไม่เปลี่ยนลำดับขององค์ประกอบที่เหลือ

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

อินพุต: nums = [3,5,9], queries = [[1,-2],[0,-3]]
เอาต์พุต: 21
คำอธิบาย:
หลังจากคิวรีครั้งที่ 1 nums = [3,-2,9] และผลรวมสูงสุดของลำดับย่อยที่มีองค์ประกอบที่ไม่ติดกันคือ 3 + 9 = 12
หลังจากคิวรีครั้งที่ 2 nums = [-3,-2,9] และผลรวมสูงสุดของลำดับย่อยที่มีองค์ประกอบที่ไม่ติดกันคือ 9

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

อินพุต: nums = [0,-1], queries = [[0,-5]]
เอาต์พุต: 0
คำอธิบาย:
หลังจากการสืบค้น 1^st, nums = [-5, -1] และผลรวมสูงสุดของลำดับที่มีองค์ประกอบที่ไม่อยู่อาศัยคือ 0 (การเลือกลำดับที่ว่างเปล่า)

ข้อจำกัด:

1 <= nums.length <= 5 * 10^4
-10^5 <= nums[i] <= 10^5
1 <= queries.length <= 5 * 10^4
queries[i] == [pos_i, x_i]
0 <= pos_i <= nums.length - 1
-10^5 <= x_i <= 10^5


เมื่อได้รับสตริง s คุณต้องแบ่งมันออกเป็นหนึ่งหรือมากกว่าหนึ่งส่วนที่สมดุล
ตัวอย่างเช่น หาก s == "ababcc" จะมีพาร์ทิชันที่ถูกต้องหลายแบบ เช่น ("abab", "c", "c"), ("ab", "abc", "c") และ ("ababcc") แต่ ("a", "bab", "cc"), ("aba", "bc", "c") และ ("ab", "abcc") ไม่ใช่พาร์ทิชันที่ถูกต้อง โดยในพาร์ทิชันที่ไม่สมดุลจะมีตัวอักษรที่ใช้จำนวนไม่เท่ากันที่ตัวหนา
ส่งคืนจำนวนขั้นต่ำของส่วนย่อยที่สามารถแบ่งสตริง s ออกมาเป็นพาร์ทิชันที่สมดุลได้
หมายเหตุ: สตริงที่สมดุลคือสตริงที่แต่ละอักขระในสตริงเกิดขึ้นในจำนวนเท่ากันทุกตัว

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

อินพุต: s = "fabccddg"
เอาท์พุต: 3
คำอธิบาย:
เราสามารถแบ่งพาร์ทิชันสตริง s เป็น 3 ส่วนย่อยได้ เช่น ("fab", "ccdd", "g") หรือ ("fabc", "cd", "dg")

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

อินพุต: s = "abababaccddb"
เอาท์พุท: 2
คำอธิบาย:
เราสามารถแบ่งพาร์ทิชันสตริง s เป็น 2 ส่วนย่อยได้ เช่น ("abab", "abaccddb")

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

เมื่อกำหนดสตริง s คุณต้องแบ่งสตริงดังกล่าวเป็นซับสตริงที่สมดุลหนึ่งตัวหรือมากกว่านั้น ตัวอย่างเช่น หาก s == "ababcc" ดังนั้น ("abab", "c", "c"), ("ab", "abc", "c") และ ("ababcc") จึงเป็นพาร์ติชั่นที่ถูกต้องทั้งหมด แต่ ("a", "bab", "cc"), ("aba", "bc", "c") และ ("ab", "abcc") ไม่ใช่ ซับสตริงที่ไม่สมดุลจะแสดงเป็นตัวหนา

ส่งคืนจำนวนซับสตริงขั้นต่ำที่คุณสามารถแบ่ง s ออกได้

หมายเหตุ: สตริงที่สมดุลคือสตริงที่อักขระแต่ละตัวในสตริงปรากฏจำนวนครั้งเท่ากัน

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

อินพุต: s = "fabccddg"
เอาต์พุต: 3
คำอธิบาย:
เราสามารถแบ่งสตริง s ออกเป็น 3 สตริงย่อยได้ด้วยวิธีใดวิธีหนึ่งต่อไปนี้: ("fab, "ccdd", "g") หรือ ("fabc", "cd", "dg")

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

อินพุต: s = "abababaccddb"
เอาต์พุต: 2
คำอธิบาย:
เราสามารถแบ่งสตริง s ออกเป็น 2 สตริงย่อยได้ดังนี้: ("abab", "abaccddb")

ข้อจำกัด:

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

เมื่อได้รับสตริง s คุณต้องแบ่งสตริงนี้เป็นหนึ่งหรือมากกว่าสตริงย่อยที่สมดุล ตัวอย่างเช่นถ้า s == "ababcc" จากนั้น ("abab", "c", "c"), (("ab", "abc", "c") และ ("ababcc") เป็นพาร์ทิชันที่ถูกต้องทั้งหมด แต่ (a", "bab", "cc"), ("aba", "bc", "c"), และ ("ab", "abcc") ไม่ใช่ สตริงย่อยที่ไม่สมดุลนั้นเป็นตัวหนา
ส่งคืนจำนวนขั้นต่ำของสตริงย่อยที่คุณสามารถแบ่งสตริง s ได้
หมายเหตุ: สตริงที่สมดุลคือสตริงที่แต่ละอักขระในสตริงเกิดขึ้นในจำนวนเท่ากัน

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

อินพุต: s = "fabccddg"
เอาท์พุท: 3
คำอธิบาย:
เราสามารถแบ่งพาร์ติชันสตริง s เป็น 3 substrings ด้วยวิธีใดวิธีหนึ่งต่อไปนี้: ("fab," ccdd "," g ") หรือ (" fabc "," cd "," dg ")

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

อินพุต: s = "Abababaccddb"
เอาท์พุท: 2
คำอธิบาย:
เราสามารถแบ่งพาร์ติชันสตริง s เป็น 2 substrings เช่น : ("abab", "abaccddb").

ข้อ จำกัด :

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


อาร์เรย์ที่ทรงพลังสำหรับจำนวนเต็ม x คืออาร์เรย์ที่เรียงลำดับสั้นที่สุดของพลังของสองที่รวมกันได้เป็น x ตัวอย่างเช่น อาร์เรย์ที่ทรงพลังสำหรับ 11 คือ [1, 2, 8] อาร์เรย์ big_nums ถูกสร้างขึ้นโดยการเชื่อมต่ออาร์เรย์ที่ทรงพลังสำหรับจำนวนเต็มบวกทุกตัว i ในลำดับที่เพิ่มขึ้น: 1, 2, 3, และต่อไป ดังนั้น big_nums จะเริ่มต้นเป็น [1, 2, 1, 2, 4, 1, 4, 2, 4, 1, 2, 4, 8, ...]
คุณได้รับเมทริกซ์จำนวนเต็ม 2 มิติที่ชื่อว่า queries ซึ่งสำหรับ queries[i] = [from_i, to_i, mod_i] คุณจะต้องคำนวณ (big_nums[from_i] * big_nums[from_i + 1] * ... * big_nums[to_i]) % mod_i
ให้ส่งคืนอาร์เรย์จำนวนเต็มที่ชื่อว่า answer โดยที่ answer[i] คือคำตอบสำหรับคำถามที่ i^th

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

Input: queries = [[1,3,7]]
Output: [4]
คำอธิบาย:
มีคำถามหนึ่งคำถาม
big_nums[1..3] = [2,1,2] ผลคูณของพวกเขาคือ 4 ส่วนที่เหลือของ 4 เมื่อหารด้วย 7 คือ 4

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

Input: queries = [[2,5,3],[7,7,4]]
Output: [2,2]
คำอธิบาย:
มีคำถามสองข้อ
คำถามแรก: big_nums[2..5] = [1,2,4,1]. ผลคูณของพวกมันคือ 8. เศษของ 8 เมื่อหารด้วย 3 คือ 2.
คำถามที่สอง: big_nums[7] = 2. เศษของ 2 เมื่อหารด้วย 4 คือ 2.

ข้อจำกัด:

1 <= queries.length <= 500
queries[i].length == 3
0 <= queries[i][0] <= queries[i][1] <= 10^15
1 <= queries[i][2] <= 10^5

อาร์เรย์ที่มีประสิทธิภาพสำหรับจำนวนเต็ม x คืออาร์เรย์ที่มีเลขยกกำลังสองเรียงกันสั้นที่สุดซึ่งมีผลรวมเท่ากับ x ตัวอย่างเช่น อาร์เรย์ที่มีประสิทธิภาพสำหรับ 11 คือ [1, 2, 8]
อาร์เรย์ big_nums ถูกสร้างขึ้นโดยการเรียงอาร์เรย์ที่มีประสิทธิภาพสำหรับจำนวนเต็มบวก i ทุกตัวในลำดับที่เพิ่มขึ้น: 1, 2, 3 และอื่นๆ ดังนั้น big_nums จึงเริ่มต้นเป็น [1, 2, 1, 2, 4, 1, 4, 2, 4, 1, 2, 4, 8, ...]
คุณจะได้รับแบบสอบถามเมทริกซ์จำนวนเต็ม 2 มิติ โดยสำหรับแบบสอบถาม[i] = [from_i, to_i, mod_i] คุณควรคำนวณ (big_nums[from_i] * big_nums[from_i + 1] * ... * big_nums[to_i]) % mod_i
ส่งคืนคำตอบเป็นอาร์เรย์จำนวนเต็มโดยที่ answer[i] คือคำตอบของแบบสอบถามที่ i

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

อินพุต: queries = [[1,3,7]]
เอาต์พุต: [4]
คำอธิบาย:
มีแบบสอบถามหนึ่งรายการ
big_nums[1..3] = [2,1,2] ผลคูณของตัวเลขเหล่านี้คือ 4 เศษของ 4 ใต้ 7 คือ 4

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

อินพุต: queries = [[2,5,3],[7,7,4]]
เอาต์พุต: [2,2]
คำอธิบาย:
มีแบบสอบถามสองรายการ
แบบสอบถามแรก: big_nums[2..5] = [1,2,4,1] ผลคูณคือ 8 เศษของ 8 ที่อยู่ใต้ 3 คือ 2
แบบสอบถามที่สอง: big_nums[7] = 2 เศษของ 2 ที่อยู่ใต้ 4 คือ 2

ข้อจำกัด:

1 <= query.length <= 500
queries[i].length == 3
0 <= query[i][0] <= query[i][1] <= 10^15
1 <= query[i][2] <= 10^5

อาร์เรย์ที่มีประสิทธิภาพสำหรับจำนวนเต็ม x คืออาร์เรย์ที่มีเลขยกกำลังสองเรียงกันสั้นที่สุดซึ่งมีผลรวมเท่ากับ x ตัวอย่างเช่น อาร์เรย์ที่มีประสิทธิภาพสำหรับ 11 คือ [1, 2, 8]
อาร์เรย์ big_nums ถูกสร้างขึ้นโดยการเรียงอาร์เรย์ที่มีประสิทธิภาพสำหรับจำนวนเต็มบวก i ทุกตัวในลำดับที่เพิ่มขึ้น: 1, 2, 3 และอื่นๆ ดังนั้น big_nums จึงเริ่มต้นเป็น [1, 2, 1, 2, 4, 1, 4, 2, 4, 1, 2, 4, 8, ...]
คุณจะได้รับแบบสอบถามเมทริกซ์จำนวนเต็ม 2 มิติ โดยสำหรับแบบสอบถาม[i] = [from_i, to_i, mod_i] คุณควรคำนวณ (big_nums[from_i] * big_nums[from_i + 1] * ... * big_nums[to_i]) % mod_i
ส่งคืนคำตอบเป็นอาร์เรย์จำนวนเต็มโดยที่ answer[i] คือคำตอบของแบบสอบถามที่ i^

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

อินพุต: queries = [[1,3,7]]
เอาต์พุต: [4]
คำอธิบาย:
มีแบบสอบถามหนึ่งรายการ
big_nums[1..3] = [2,1,2] ผลคูณของตัวเลขเหล่านี้คือ 4 4 หารด้วย 7 เหลือเศษ 4 คือ 4

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

อินพุต: queries = [[2,5,3],[7,7,4]]
เอาต์พุต: [2,2]
คำอธิบาย:
มีแบบสอบถามสองรายการ
แบบสอบถามรายการแรก: big_nums[2..5] = [1,2,4,1] ผลคูณของพวกมันคือ 8 เศษของ 8 ที่อยู่ใต้ 3 คือ 2
แบบสอบถามที่สอง: big_nums[7] = 2 เศษของ 2 ที่อยู่ใต้ 4 คือ 2

ข้อจำกัด:

1 <= queries.length <= 500
queries[i].length == 3
0 <= queries[i][0] <= queries[i][1] <= 10^15
1 <= queries[i][2] <= 10^5


คุณมีอาร์เรย์ nums ซึ่งแต่ละหมายเลขในอาร์เรย์จะปรากฏเพียงครั้งเดียวหรือสองครั้ง
ให้คืนค่า bitwise XOR ของตัวเลขทั้งหมดที่ปรากฏสองครั้งในอาร์เรย์ หรือ 0 ถ้าไม่มีตัวเลขใดปรากฏสองครั้ง

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

Input: nums = [1,2,1,3]
Output: 1
คำอธิบาย: ตัวเลขเดียวที่ปรากฏสองครั้งใน nums คือ 1

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

Input: nums = [1,2,3]
Output: 0
คำอธิบาย: ไม่มีตัวเลขใดปรากฏสองครั้งใน nums

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

Input: nums = [1,2,2,1]
Output: 3
คำอธิบาย: ตัวเลข 1 และ 2 ปรากฏสองครั้ง 1 XOR 2 == 3

เงื่อนไข:

1 <= nums.length <= 50
1 <= nums[i] <= 50
หมายเลขแต่ละตัวใน nums ปรากฏเพียงครั้งเดียวหรือสองครั้ง

คุณได้รับอาร์เรย์ nums ซึ่งแต่ละหมายเลขในอาร์เรย์ปรากฏขึ้นเพียงครั้งเดียวหรือสองครั้ง
ให้คืนค่าผลลัพธ์ XOR แบบบิตของหมายเลขทั้งหมดที่ปรากฏขึ้นสองครั้งในอาร์เรย์ หรือคืนค่า 0 หากไม่มีหมายเลขใดปรากฏขึ้นสองครั้งรั้ง

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

Input: nums = [1,2,1,3]
Output: 1
หมายเลขเดียวที่ปรากฏสองครั้งใน nums คือ 1.

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

Input: nums = [1,2,3]
Output: 0
คำอธิบาย: ไม่มีหมายเลขใดปรากฏซ้ำใน nums.

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

Input: nums = [1,2,2,1]
Output: 3
คำอธิบาย: หมายเลข 1 และ 2 ปรากฏขึ้นสองครั้ง 1 XOR 2 == 3.

ข้อจำกัด:

1 <= nums.length <= 50
1 <= nums[i] <= 50
แต่ละหมายเลขใน nums ปรากฏขึ้นเพียงครั้งเดียวหรือสองครั้งเท่านั้น

คุณจะได้รับอาร์เรย์ nums โดยที่แต่ละตัวเลขในอาร์เรย์จะปรากฏขึ้นเพียงครั้งเดียวหรือสองครั้ง
ส่งคืนค่าบิต XOR ของตัวเลขทั้งหมดที่ปรากฏสองครั้งในอาร์เรย์ หรือคืนค่า 0 หากไม่มีตัวเลขปรากฏขึ้นสองครั้ง

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

อินพุต: nums = [1,2,1,3]
เอาต์พุต: 1
คำอธิบาย:
ตัวเลขเดียวที่ปรากฏสองครั้งใน nums คือ 1

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

อินพุต: nums = [1,2,3]
เอาต์พุต: 0
คำอธิบาย:
ไม่มีตัวเลขปรากฏขึ้นสองครั้งใน nums

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

อินพุต: nums = [1,2,2,1]
เอาต์พุต: 3
คำอธิบาย:
ตัวเลข 1 และ 2 ปรากฏขึ้นสองครั้ง 1 XOR 2 == 3.

ข้อจำกัด:

1 <= nums.length <= 50
1 <= nums[i] <= 50
ตัวเลขแต่ละตัวใน nums จะปรากฏขึ้นหนึ่งครั้งหรือสองครั้ง


คุณได้รับอาเรย์จำนวนเต็ม nums, อาเรย์จำนวนเต็ม queries, และจำนวนเต็ม x
สำหรับแต่ละ queries[i] คุณต้องหาดัชนีของการเกิดขึ้นที่ queries[i]^th ของ x ในอาเรย์ nums หากมีการเกิดขึ้นของ x น้อยกว่า queries[i] คำตอบควรเป็น -1 สำหรับคำถามนั้น
คืนค่าอาเรย์จำนวนเต็ม answer ที่ประกอบด้วยคำตอบสำหรับคำถามทั้งหมด

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

Input: nums = [1,3,1,7], queries = [1,3,2,4], x = 1
Output: [0,-1,2,-1]
คำอธิบาย:

สำหรับคำถามที่ 1 การเกิดขึ้นครั้งแรกของ 1 อยู่ที่ดัชนี 0
สำหรับคำถามที่ 2 มีเพียงสองการเกิดขึ้นของ 1 ใน nums ดังนั้นคำตอบคือ -1
สำหรับคำถามที่ 3 การเกิดขึ้นครั้งที่สองของ 1 อยู่ที่ดัชนี 2
สำหรับคำถามที่ 4 มีเพียงสองการเกิดขึ้นของ 1 ใน nums ดังนั้นคำตอบคือ -1

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

Input: nums = [1,2,3], queries = [10], x = 5
Output: [-1]
คำอธิบาย:

สำหรับคำถามข้อที่ 1, 5 ไม่มีอยู่ใน nums ดังนั้นคำตอบคือ -1.

ข้อจำกัด:

1 <= nums.length, queries.length <= 10^5
1 <= queries[i] <= 10^5
1 <= nums[i], x <= 10^4

ให้คุณมีอาร์เรย์ของจำนวนเต็ม nums, อาร์เรย์ของจำนวนเต็ม queries, และจำนวนเต็ม x
สำหรับแต่ละ queries[i] คุณต้องหาดัชนีของ queries[i]^th ที่เกิดขึ้นของ x ในอาร์เรย์ nums ถ้ามีจำนวนการเกิดของ x น้อยกว่า queries[i] คำตอบควรเป็น -1 สำหรับ query นั้น
ให้คืนค่าคำตอบของอาร์เรย์จำนวนเต็ม ที่มีคำตอบของ queries ทั้งหมด

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

Input: nums = [1,3,1,7], queries = [1,3,2,4], x = 1
Output: [0,-1,2,-1]
คำอธิบาย:

สำหรับ query ที่ 1 การเกิดครั้งแรกของ 1 อยู่ที่ดัชนี 0
สำหรับ query ที่ 2 มีการเกิดของ 1 เพียง 2 ครั้งใน nums ดังนั้นคำตอบคือ -1
สำหรับ query ที่ 3 การเกิดครั้งที่สองของ 1 อยู่ที่ดัชนี 2
สำหรับ query ที่ 4 มีการเกิดของ 1 เพียง 2 ครั้งใน nums ดังนั้นคำตอบคือ -1

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

Input: nums = [1,2,3], queries = [10], x = 5
Output: [-1]
คำอธิบาย:

สำหรับ query ที่ 1^st, 5 ไม่ได้อยู่ใน nums ดังนั้นคำตอบคือ -1

ข้อจำกัด:

1 <= nums.length, queries.length <= 10^5
1 <= queries[i] <= 10^5
1 <= nums[i], x <= 10^4

คุณจะได้รับตัวเลขอาร์เรย์จํานวนเต็ม คิวรีอาร์เรย์จํานวนเต็ม และจํานวนเต็ม x
สําหรับแต่ละคิวรี[i] คุณต้องค้นหาดัชนีของการเกิดขึ้นครั้งที่ queries[i] ของ x ในอาร์เรย์ nums หากมีหากมีการเกิดขึ้นของ x น้อยกว่า queries[i] คําตอบควรเป็น -1 สําหรับคิวรีนั้น
ส่งคืนอาร์เรย์จํานวนเต็มที่มีคําตอบสําหรับคิวรีทั้งหมด

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

อินพุต: nums = [1,3,1,7], queries= [1,3,2,4], x = 1
เอาต์พุต: [0,-1,2,-1]
การอธิบาย:

สําหรับคิวรีที่ ครั้งที่ 1 การเกิดขึ้นครั้งแรกของ 1 อยู่ที่ดัชนี 0
สําหรับคิวรีที่ ครั้งที่ 2 มีเพียง 2 ครั้งที่เกิดขึ้นของ 1 ใน nums ดังนั้นคําตอบคือ -1
สําหรับคิวรีที่ ครั้งที่ 3 การเกิดขึ้นครั้งที่สองของ 1 อยู่ที่ดัชนี 2
สําหรับคิวรีที่ ครั้งที่ 4, มีเพียงสองครั้งที่เกิดขึ้นของ 1 ใน nums, ดังนั้นคําตอบคือ -1.

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

อินพุต: nums = [1,2,3], queries = [10], x = 5
เอาต์พุต: [-1]
การอธิบาย:

สําหรับคิวรีที่ 1^st ไม่มี 5 ใน nums ดังนั้นคําตอบคือ -1

ข้อจํากัด:

1 <= nums.length, queries.length <= 10^5
1 <= queries[i] <= 10^5
1 <= nums[i], x <= 10^4


You are given positive integers N, L, and R.
For a sequence A = (1, 2, \dots, N) of length N, an operation of reversing the L-th through R-th elements was performed once.
Print the sequence after this operation.

Input

The input is given from Standard Input in the following format:
N L R

Output

Let A' = (A'_1, A'_2, \dots, A'_N) be the sequence after the operation. Print it in the following format:
A'_1 A'_2 \dots A'_N

Constraints

- All input values are integers.
- 1 \leq L \leq R \leq N \leq 100

Sample Input 1

5 2 3

Sample Output 1

1 3 2 4 5

Initially, A = (1, 2, 3, 4, 5).
After reversing the second through third elements, the sequence becomes (1, 3, 2, 4, 5), which should be printed.

Sample Input 2

7 1 1

Sample Output 2

1 2 3 4 5 6 7

It is possible that L = R.

Sample Input 3

10 1 10

Sample Output 3

10 9 8 7 6 5 4 3 2 1

It is possible that L = 1 or R = N.

คุณได้รับจำนวนเต็มบวก N, L, และ R
สำหรับลำดับ A = (1, 2, \dots, N) ที่มีความยาว N ได้มีการดำเนินการกลับด้านขององค์ประกอบตั้งแต่ L ถึง R ครั้งหนึ่ง
พิมพ์ลำดับหลังจากดำเนินการนี้

อินพุต

อินพุตได้รับจาก Standard Input ในรูปแบบต่อไปนี้:
N L R

เอาท์พุต

ให้ A' = (A'_1, A'_2, \dots, A'_N) เป็นลำดับหลังการดำเนินการ พิมพ์ในรูปแบบต่อไปนี้:
A'_1 A'_2 \dots A'_N

ข้อจำกัด

- ทุกค่าที่รับเข้ามาเป็นจำนวนเต็ม
- 1 \leq L \leq R \leq N \leq 100

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

5 2 3

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

1 3 2 4 5

เริ่มแรก, A = (1, 2, 3, 4, 5).
หลังจากกลับด้านองค์ประกอบที่สองถึงสาม ลำดับจะกลายเป็น (1, 3, 2, 4, 5) ซึ่งควรถูกพิมพ์

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

7 1 1

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

1 2 3 4 5 6 7

เป็นไปได้ว่า L = R

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

10 1 10

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

10 9 8 7 6 5 4 3 2 1

เป็นไปได้ว่า L = 1 หรือ R = N

คุณจะได้รับจำนวนเต็มบวก N, L และ R.
สำหรับลำดับ A = (1, 2, \dots, N) ความยาว N, การดำเนินการของการย้อนกลับ  L-th ผ่านองค์ประกอบ R-th ได้ดำเนินการหนึ่งครั้ง
พิมพ์ลำดับหลังจากการดำเนินการนี้

ป้อนข้อมูล

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

เอาท์พุท

ให้ A' = (A'_1, A'_2, \dots, A'_N) เป็นลำดับหลังการดำเนินการ พิมพ์ในรูปแบบต่อไปนี้:
A'_1 A'_2 \dots A'_N

ข้อ จำกัด

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

5 2 3

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

1 3 2 4 5

เริ่มแรก, A = (1, 2, 3, 4, 5)
หลังจากย้อนกลับองค์ประกอบที่สองผ่านองค์ประกอบที่สามลำดับจะกลายเป็น (1, 3, 2, 4, 5) ซึ่งควรพิมพ์

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

7 1 1

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

1 2 3 4 5 6 7

เป็นไปได้ว่า L = R.

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

10 1 10

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

10 9 8 7 6 5 4 3 2 1

เป็นไปได้ว่า L = 1 หรือ R = N


กำหนดจำนวนเต็ม N และ M ให้คำนวณผลรวม \displaystyle \sum_{k=0}^{N} \rm{popcount}(k \mathbin{\&} M) โมดูโล 998244353
ในที่นี้ \mathbin{\&} แสดงถึงการดำเนินการ \rm{AND} ตามบิต
การดำเนินการ \rm{AND} ตามบิตคืออะไร ผลลัพธ์ x = a \mathbin{\&} b ของการดำเนินการ \rm{AND} แบบบิตต่อบิตระหว่างจำนวนเต็มที่ไม่เป็นลบ a และ b ถูกกำหนดดังนี้:

- x คือจำนวนเต็มที่ไม่เป็นลบเฉพาะตัวที่ตอบสนองเงื่อนไขต่อไปนี้สำหรับจำนวนเต็มที่ไม่เป็นลบ k ทั้งหมด:

- หากตำแหน่ง 2^k ในการแสดงแบบไบนารีของ a และตำแหน่ง 2^k ในการแสดงแบบไบนารีของ b ทั้งคู่เป็น 1 ดังนั้นตำแหน่ง 2^k ในการแสดงแบบไบนารีของ x คือ 1
- มิฉะนั้น ตำแหน่ง 2^k ในการแสดงแบบไบนารีของ x คือ 0

ตัวอย่างเช่น 3=11_{(2)} และ 5=101_{(2)} ดังนั้น 3 \mathbin{\&} 5 = 1

\rm{popcount} คืออะไร
\rm{popcount}(x) แทนจำนวน 1 ในการแสดงแบบไบนารีของ x
ตัวอย่างเช่น 13=1101_{(2)} ดังนั้น \rm{popcount}(13) = 3

อินพุต

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

เอาต์พุต

พิมพ์คำตอบเป็นจำนวนเต็ม

ข้อจำกัด

- N เป็นจำนวนเต็มระหว่าง 0 ถึง 2^{60} - 1 รวม
- M เป็นจำนวนเต็มระหว่าง 0 ถึง 2^{60} - 1 รวม
ตัวอย่างอินพุต 1

4 3

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

4

- \rm{popcount}(0\mathbin{\&}3) = 0
- \rm{popcount}(1\mathbin{\&}3) = 1
- \rm{popcount}(2\mathbin{\&}3) = 1
- \rm{popcount}(3\mathbin{\&}3) = 2
- \rm{popcount}(4\mathbin{\&}3) = 0

ผลรวมของค่าเหล่านี้คือ 4

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

0 0

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

0

เป็นไปได้ที่ N = 0 หรือ M = 0

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

1152921504606846975 1152921504606846975

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

499791890

อย่าลืมคำนวณผลลัพธ์โมดูโล 998244353

เมื่อกำหนดจำนวนเต็ม N และ M ให้คำนวณผลรวม \displaystyle \sum_{k=0}^{N} \rm{popcount}(k \mathbin{\&} M) โมดูโล 998244353
ในที่นี้ \mathbin{\&} แสดงถึงการดำเนินการระดับบิต \rm{AND}
การดำเนินการระดับบิต \rm{AND} คืออะไร?
ผลลัพธ์ x = a \mathbin{\&} b ของการดำเนินการระดับบิต \rm{AND} ระหว่างจำนวนเต็มที่ไม่เป็นลบ a และ b ได้รับการนิยามไว้ดังนี้:

- x เป็นจำนวนเต็มที่ไม่เป็นลบเฉพาะซึ่งตรงตามเงื่อนไขต่อไปนี้สำหรับจำนวนเต็มที่ไม่ใช่ลบทั้งหมด k:

- หากตำแหน่ง 2^k ในการแสดงแทนไบนารี่ของ a และตำแหน่ง 2^k ในการแสดงแทนไบนารี่ของ b เป็น 1 ทั้งคู่ ดังนั้นตำแหน่ง 2^k ในการแสดงแทนไบนารี่ของ x จะเป็น 1
- มิฉะนั้น ตำแหน่ง 2^k ในการแสดงไบนารี่ของ x จะเป็น 0

ตัวอย่างเช่น 3=11_{(2)} และ 5=101_{(2)} ดังนั้น 3 \mathbin{\&} 5 = 1

\rm{popcount} คืออะไร?
\rm{popcount}(x) แทนจำนวน 1s ในการเป็นตัวแทนไบนารีของ x
ตัวอย่างเช่น 13=1101_{(2)} ดังนั้น \rm{popcount}(13) = 3

ป้อนข้อมูล

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

เอาท์พุต

พิมพ์คำตอบเป็นจำนวนเต็ม

ข้อจำกัด

- N เป็นจำนวนเต็มระหว่าง 0 ถึง 2^{60} - 1 รวมอยู่ด้วย
- M เป็นจำนวนเต็มระหว่าง 0 ถึง 2^{60} - 1 รวม

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

4 3

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

4

- \rm{popcount}(0\mathbin{\&}3) = 0
- \rm{popcount}(1\mathbin{\&}3) = 1
- \rm{popcount}(2\mathbin{\&}3) = 1
- \rm{popcount}(3\mathbin{\&}3) = 2
- \rm{popcount}(4\mathbin{\&}3) = 0

ผลรวมของค่าเหล่านี้คือ 4

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

0 0

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

0

เป็นไปได้ว่า N = 0 หรือ M = 0

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

1152921504606846975 1152921504606846975

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

499791890

อย่าลืมคำนวณผลลัพธ์แบบโมดูโล 998244353

ให้จำนวนเต็ม N และ M คำนวณ sum \displaystyle \sum_{k=0}^{N} \rm{popcount}(k \mathbin{\&} M), โมดูโล 998244353
ในที่นี้ \ mathbin {\ &} หมายถึงการดำเนินการ bitwise \rm {และ}
การดำเนินการ bitwise \ rm {และ} คืออะไร?
ผลลัพธ์ x = a \mathbin{\&} b ของการดำเนินการ bitwise \rm {และ} ระหว่างจำนวนเต็มที่ไม่เป็นลบ a และ b ถูกกำหนดดังนี้:

-x เป็นจำนวนเต็มที่ไม่เป็นลบที่ไม่ซ้ำกันซึ่งเป็นไปตามเงื่อนไขต่อไปนี้สำหรับจำนวนเต็มที่ไม่เป็นลบทั้งหมด k:

- ถ้าสถานที่ 2^k ในการแทนค่าในรูปแบบไบนารีของสถานที่ A และ 2^K ในการแทนค่าในรูปแบบไบนารีของ B คือทั้ง 1 1 สถานที่ 2^k ในการแทนค่าในรูปแบบไบนารีของ x คือ 1
- มิฉะนั้นสถานที่ 2^k ในการแทนค่าในรูปแบบไบนารีของ x คือ 0

ตัวอย่างเช่น 3=11_{(2)} และ 5=101_{(2)} ดังนั้น 3 \mathbin{\&} 5 = 1

\rm{popcount} คืออะไร?
\rm{popcount}(x) แสดงจำนวน 1s ในการแสดงไบนารีของ x
ตัวอย่างเช่น 13=1101_{(2)} ดังนั้น \rm{popcount}(13) = 3

ป้อนข้อมูล

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

เอาท์พุท

พิมพ์คำตอบเป็นจำนวนเต็ม

ข้อ จำกัด

- N เป็นจำนวนเต็มระหว่าง 0 ถึง 2^{60} - 1 รวม
- M เป็นจำนวนเต็มระหว่าง 0 ถึง 2^{60} - 1 รวม

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

4 3

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

4

- \rm{popcount}(0\mathbin{\&}3) = 0
- \rm{popcount}(1\mathbin{\&}3) = 1
- \rm{popcount}(2\mathbin{\&}3) = 1
- \rm{popcount}(3\mathbin{\&}3) = 2
- \rm{popcount}(4\mathbin{\&}3) = 0

ผลรวมของค่าเหล่านี้คือ 4

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

0 0

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

0

เป็นไปได้ว่า N = 0 หรือ M = 0

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

1152921504606846975 1152921504606846975

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

499791890

อย่าลืมคำนวณผลลัพธ์โมดูโล 998244353


คุณได้รับลำดับ A=(A_1,\ldots,A_N) ที่มีความยาว N
ค้นหา \displaystyle \sum_{i=1}^{N-1}\sum_{j=i+1}^{N}\left\lfloor\frac{\max(A_i,A_j)}{\min(A_i,A_j)}\right\rfloor
ในที่นี้ \lfloor x \rfloor แสดงถึงจำนวนเต็มที่มากที่สุดที่ไม่มากกว่า x ตัวอย่างเช่น \lfloor 3.14 \rfloor=3 และ \lfloor 2 \rfloor=2

อินพุต

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

เอาต์พุต

พิมพ์คำตอบ
ข้อจำกัด

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

3
3 1 4

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

8

ค่าที่ต้องการคือ
\left\lfloor\frac{\max(3,1)}{\min(3,1)}\right\rfloor + \left\lfloor\frac{\max(3,4)}{\min(3,4)}\right\rfloor + \left\lfloor\frac{\max(1,4)}{\min(1,4)}\right\rfloor\\ =\left\lfloor\frac{3}{1}\right\rfloor + \left\lfloor\frac{4}{3}\right\rfloor + \left\lfloor\frac{4}{1}\right\rfloor\\ =3+1+4\\ =8.
ตัวอย่างอินพุต 2

6
2 7 1 8 2 8

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

53

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

12
3 31 314 3141 31415 314159 2 27 271 2718 27182 271828

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

592622

คุณจะได้รับลําดับ A=(A_1,ldots,A_N) ที่มีความยาว N
หาค่า \displaystyle \sum_{i=1}^{N-1}\sum_{j=i+1}^{N}\left\lfloor\frac{\max(A_i,A_j)}{\min(A_i,A_j)}\right\rfloor
ที่นี่ \lfloor x \rfloor แทนจำนวนเต็มที่ใหญ่ที่สุดที่ไม่มากกว่า x ตัวอย่างเช่น \lfloor 3.14 \rfloor=3 และ \lfloor 2 \rfloor=2

อินพุต

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

ผลลัพธ์

พิมพ์คําตอบ

ข้อจํากัด

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

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

3
3 1 4

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

8

ค่าที่ต้องการคือ
\left\lfloor\frac{\max(3,1)}{\min(3,1)}\right\rfloor + \left\lfloor\frac{\max(3,4)}{\min(3,4)}\right\rfloor + \left\lfloor\frac{\max(1,4)}{\min(1,4)}\right\rfloor\\ =\left\lfloor\frac{3}{1}\right\rfloor + \left\lfloor\frac{4}{3}\right\rfloor + \left\lfloor\frac{4}{1}\right\rfloor\\ =3+1+4\\ =8.

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

6
2 7 1 8 2 8

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

53

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

12
3 31 314 3141 31415 314159 2 27 271 2718 28

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

592622


คุณมี N กุญแจที่มีหมายเลข 1, 2, \dots, N
บางกุญแจเป็นกุญแจจริง ส่วนที่เหลือเป็นกุญแจหลอก
มีประตูหนึ่ง ประตู X ที่สามารถใส่กุญแจได้หลายดอก ประตู X จะเปิดก็ต่อเมื่อมีการใส่กุญแจจริงอย่างน้อย K ดอก
คุณได้ทำการทดสอบ M ทดลองกับกุญแจเหล่านี้ การทดสอบครั้งที่ i มีดังนี้:

- คุณใส่กุญแจ C_i ได้แก่ A_{i,1}, A_{i,2}, \dots, A_{i,C_i} เข้าไปในประตู X
- ผลการทดสอบแสดงด้วยตัวอักษรภาษาอังกฤษตัวเดียว R_i
- R_i = o หมายความว่า ประตู X เปิดได้ในการทดสอบครั้งที่ i
- R_i = x หมายความว่า ประตู X ไม่เปิดได้ในการทดสอบครั้งที่ i

มี 2^N รูปแบบที่เป็นไปได้ว่ากุญแจไหนเป็นจริงและกุญแจไหนเป็นหลอก จากจำนวนนั้น ให้หาจำนวนวิธีที่ไม่ขัดกับผลการทดสอบทั้งหมด
เป็นไปได้ว่าผลการทดสอบที่ให้อาจไม่ถูกต้องและไม่มีการผสมไหนที่สอดรับกับเงื่อนไข ในกรณีนั้นให้รายงาน 0

Input

อินพุตให้อยู่ในรูปแบบจาก Standard Input ตามนี้:
N M K
C_1 A_{1,1} A_{1,2} \dots A_{1,C_1} R_1
C_2 A_{2,1} A_{2,2} \dots A_{2,C_2} R_2
\vdots
C_M A_{M,1} A_{M,2} \dots A_{M,C_M} R_M

Output

พิมพ์คำตอบเป็นจำนวนเต็ม

Constraints

- N, M, K, C_i, และ A_{i,j} เป็นจำนวนเต็ม
- 1 \le K \le N \le 15
- 1 \le M \le 100
- 1 \le C_i \le N
- 1 \le A_{i,j} \le N
- A_{i,j} \neq A_{i,k} หาก j \neq k
- R_i เป็น o หรือ x

ตัวอย่าง Input 1

3 2 2
3 1 2 3 o
2 2 3 x

ตัวอย่าง Output 1

2

ในอินพุตนี้ มีกุญแจสามดอกและทำการทดสอบสองครั้ง
ต้องการกุญแจจริงสองดอกจึงจะเปิดประตู X

- ในการทดสอบครั้งแรก ใช้กุญแจ 1, 2, 3 และประตู X เปิดได้
- ในการทดสอบครั้งที่สอง ใช้กุญแจ 2, 3 และประตู X ไม่เปิดได้

มีสองการผสมของกุญแจที่เป็นจริงและหลอกที่ไม่ขัดกับผลการทดสอบ:

- กุญแจ 1 เป็นจริง กุญแจ 2 เป็นหลอก และกุญแจ 3 เป็นจริง
- กุญแจ 1 เป็นจริง กุญแจ 2 เป็นจริง และกุญแจ 3 เป็นหลอก

ตัวอย่าง Input 2

4 5 3
3 1 2 3 o
3 2 3 4 o
3 3 4 1 o
3 4 1 2 o
4 1 2 3 4 x

ตัวอย่าง Output 2

0

ตามที่กล่าวในโจทย์ คำตอบอาจเป็น 0 ได้

ตัวอย่าง Input 3

11 4 9
10 1 2 3 4 5 6 7 8 9 10 o
11 1 2 3 4 5 6 7 8 9 10 11 o
10 11 10 9 8 7 6 5 4 3 2 x
10 11 9 1 4 3 7 5 6 2 10 x

ตัวอย่าง Output 3

8

คุณมีกุญแจ N ดอก หมายเลข 1, 2, \dots, N
กุญแจบางดอกเป็นกุญแจจริง ส่วนดอกอื่นๆ เป็นกุญแจหลอก
มีประตูบานหนึ่งชื่อ Door X ซึ่งคุณสามารถสอดกุญแจเข้าไปได้หลายดอก ประตู X จะเปิดก็ต่อเมื่อสอดกุญแจจริงอย่างน้อย K ดอก
คุณได้ทำการทดสอบกับกุญแจเหล่านี้ M ครั้งแล้ว การทดสอบครั้งที่ i ดำเนินไปดังนี้:

- คุณสอดกุญแจ C_i A_{i,1}, A_{i,2}, \dots, A_{i,C_i} เข้าไปในประตู X
- ผลการทดสอบแสดงด้วยตัวอักษรภาษาอังกฤษ R_i เพียงตัวเดียว
- R_i = o หมายความว่าประตู X เปิดออกในการทดสอบครั้งที่ i
- R_i = x หมายความว่าประตู X ไม่เปิดออกในการทดสอบครั้งที่ i

มีชุดค่าผสมที่เป็นไปได้ 2^N ชุดว่าดอกใดเป็นดอกจริงและดอกใดเป็นดอกหลอก จากจำนวนนี้ จงหาจำนวนชุดค่าผสมที่ไม่ขัดแย้งกับผลการทดสอบใดๆ ผลการทดสอบที่กำหนดอาจไม่ถูกต้องและไม่มีชุดค่าผสมใดที่ตรงตามเงื่อนไข ในกรณีดังกล่าว ให้รายงาน 0

อินพุต

อินพุตกำหนดจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N M K
C_1 A_{1,1} A_{1,2} \dots A_{1,C_1} R_1
C_2 A_{2,1} A_{2,2} \dots A_{2,C_2} R_2
\vdots
C_M A_{M,1} A_{M,2} \dots A_{M,C_M} R_M

เอาต์พุต

พิมพ์คำตอบเป็นจำนวนเต็ม

ข้อจำกัด

- N, M, K, C_i และ A_{i,j} เป็นจำนวนเต็ม - 1 \le K \le N \le 15
- 1 \le M \le 100
- 1 \le C_i \le N
- 1 \le A_{i,j} \le N
- A_{i,j} \neq A_{i,k} ถ้า j \neq k.
- R_i คือ o หรือ x

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

3 2 2
3 1 2 3 o
2 2 3 x

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

2

ในอินพุตนี้ มีกุญแจสามดอกและทำการทดสอบสองครั้ง
ต้องใช้กุญแจที่ถูกต้องสองดอกจึงจะเปิดประตู X ได้

- ในการทดสอบครั้งแรก ใช้กุญแจ 1, 2, 3 และเปิดประตู X ได้
- ในการทดสอบครั้งที่สอง ใช้กุญแจ 2, 3 และเปิดประตู X ไม่ได้
มีกุญแจ 2 แบบที่รวมกันซึ่งกุญแจนั้นเป็นของจริงและกุญแจที่เป็นของปลอมซึ่งไม่ขัดแย้งกับผลการทดสอบใดๆ:

- กุญแจ 1 นั้นเป็นของจริง กุญแจ 2 นั้นเป็นของปลอม และกุญแจ 3 นั้นเป็นของจริง
- กุญแจ 1 นั้นเป็นของจริง กุญแจ 2 นั้นเป็นของจริง และกุญแจ 3 นั้นเป็นของปลอม
ตัวอย่างอินพุต 2

4 5 3
3 1 2 3 o
3 2 3 4 o
3 3 4 1 o
3 4 1 2 o
4 1 2 3 4 x

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

0

ตามที่ระบุไว้ในคำชี้แจงปัญหา คำตอบอาจเป็น 0

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

11 4 9
10 1 2 3 4 5 6 7 8 9 10 11 o
10 1 2 3 4 5 6 7 8 9 10 o
10 11 9 1 4 3 7 5 6 2 10 x

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

8

คุณมีกุญแจ N ดอก หมายเลข 1, 2, \dots, N
กุญแจบางดอกเป็นกุญแจจริง ส่วนดอกอื่นๆ เป็นกุญแจหลอก
มีประตูบานหนึ่งชื่อ Door X ซึ่งคุณสามารถสอดกุญแจเข้าไปได้หลายดอก ประตู X จะเปิดก็ต่อเมื่อสอดกุญแจจริงอย่างน้อย K ดอก
คุณได้ทำการทดสอบกับกุญแจเหล่านี้ M ครั้งแล้ว การทดสอบครั้งที่ i ดำเนินไปดังนี้:

- คุณสอดกุญแจ C_i A_{i,1}, A_{i,2}, \dots, A_{i,C_i} เข้าไปในประตู X
- ผลการทดสอบแสดงด้วยตัวอักษรภาษาอังกฤษ R_i เพียงตัวเดียว
- R_i = o หมายความว่าประตู X เปิดออกในการทดสอบครั้งที่ i
- R_i = x หมายความว่าประตู X ไม่เปิดออกในการทดสอบครั้งที่ i

มีชุดค่าผสมที่เป็นไปได้ 2^N ชุดว่าดอกใดเป็นดอกจริงและดอกใดเป็นดอกหลอก จากจำนวนนี้ จงหาจำนวนชุดค่าผสมที่ไม่ขัดแย้งกับผลการทดสอบใดๆ ผลการทดสอบที่กำหนดอาจไม่ถูกต้องและไม่มีชุดค่าผสมใดที่ตรงตามเงื่อนไข ในกรณีดังกล่าว ให้รายงาน 0

อินพุต

อินพุตกำหนดจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N M K
C_1 A_{1,1} A_{1,2} \dots A_{1,C_1} R_1
C_2 A_{2,1} A_{2,2} \dots A_{2,C_2} R_2
\vdots
C_M A_{M,1} A_{M,2} \dots A_{M,C_M} R_M

เอาต์พุต

พิมพ์คำตอบเป็นจำนวนเต็ม

ข้อจำกัด

- N, M, K, C_i และ A_{i,j} เป็นจำนวนเต็ม - 1 \le K \le N \le 15
- 1 \le M \le 100
- 1 \le C_i \le N
- 1 \le A_{i,j} \le N
- A_{i,j} \neq A_{i,k} ถ้า j \neq k.
- R_i คือ o หรือ x

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

3 2 2
3 1 2 3 o
2 2 3 x

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

2

ในอินพุตนี้ มีกุญแจสามดอกและทำการทดสอบสองครั้ง
ต้องใช้กุญแจที่ถูกต้องสองดอกจึงจะเปิดประตู X ได้

- ในการทดสอบครั้งแรก ใช้กุญแจ 1, 2, 3 และเปิดประตู X ได้
- ในการทดสอบครั้งที่สอง ใช้กุญแจ 2, 3 และเปิดประตู X ไม่ได้

มีกุญแจ 2 แบบที่รวมกันซึ่งกุญแจนั้นเป็นของจริงและกุญแจที่เป็นของปลอมซึ่งไม่ขัดแย้งกับผลการทดสอบใดๆ:

- กุญแจ 1 นั้นเป็นของจริง กุญแจ 2 นั้นเป็นของปลอม และกุญแจ 3 นั้นเป็นของจริง
- กุญแจ 1 นั้นเป็นของจริง กุญแจ 2 นั้นเป็นของจริง และกุญแจ 3 นั้นเป็นของปลอม

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

4 5 3
3 1 2 3 o
3 2 3 4 o
3 3 4 1 o
3 4 1 2 o
4 1 2 3 4 x

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

0

ตามที่ระบุไว้ในคำชี้แจงปัญหา คำตอบอาจเป็น 0

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

11 4 9
10 1 2 3 4 5 6 7 8 9 10 o
11 1 2 3 4 5 6 7 8 9 10 11 o
10 11 10 9 8 7 6 5 4 3 2 x
10 11 9 1 4 3 7 5 6 2 10 x

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

8


ทาคาฮาชิใส่ใจเรื่องสุขภาพและกังวลว่าเขาได้รับสารอาหาร M ประเภทเพียงพอจากอาหารหรือไม่
สำหรับสารอาหารที่ i เป้าหมายของเขาคือรับประทานอย่างน้อย A_i หน่วยต่อวัน
วันนี้ เขากินอาหาร N ชนิด และจากอาหารที่ i เขารับประทานสารอาหาร j X_{i,j} หน่วย
พิจารณาว่าเขาบรรลุเป้าหมายสำหรับสารอาหาร M ประเภททั้งหมดหรือไม่

อินพุต

อินพุตนี้ให้จากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N M
A_1 \ldots A_M
X_{1,1} \ldots X_{1,M}
\vdots
X_{N,1} \ldots X_{N,M}

เอาต์พุต

พิมพ์ ใช่ หากบรรลุเป้าหมายสำหรับสารอาหาร M ประเภททั้งหมด และไม่ หากไม่บรรลุเป้าหมาย
ข้อจำกัด

- 1 \leq N \leq 100
- 1 \leq M \leq 100
- 0 \leq A_i, X_{i,j} \leq 10^7
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

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

2 3
10 20 30
20 0 10
0 100 100

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

Yes

สำหรับสารอาหาร 1 ทาคาฮาชิได้รับ 20 หน่วยจากอาหารมื้อที่ 1 และ 0 หน่วยจากอาหารมื้อที่ 2 รวมเป็น 20 หน่วย จึงบรรลุเป้าหมายในการได้รับอย่างน้อย 10 หน่วย ในทำนองเดียวกัน เขาบรรลุเป้าหมายสำหรับสารอาหาร 2 และ 3

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

2 4
10 20 30 40
20 0 10 30
0 100 100 0

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

No

ไม่บรรลุเป้าหมายสำหรับสารอาหาร 4

ทาคาฮาชิใส่ใจเรื่องสุขภาพและกังวลว่าเขาได้รับสารอาหาร M ประเภทเพียงพอจากอาหารหรือไม่
สำหรับสารอาหารที่ i เป้าหมายของเขาคือรับประทานอย่างน้อย A_i หน่วยต่อวัน
วันนี้ เขารับประทานอาหาร N รายการ และจากอาหารที่ i เขารับประทานสารอาหาร j จำนวน X_{i,j} หน่วย
พิจารณาว่าเขาบรรลุเป้าหมายสำหรับสารอาหาร M ประเภททั้งหมดหรือไม่

อินพุต

อินพุตนี้ให้จากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N M
A_1 \ldots A_M
X_{1,1} \ldots X_{1,M}
\vdots
X_{N,1} \ldots X_{N,M}

เอาต์พุต

พิมพ์ ใช่ หากบรรลุเป้าหมายสำหรับสารอาหาร M ประเภททั้งหมด และไม่ หากไม่บรรลุเป้าหมาย

ข้อจำกัด

- 1 \leq N \leq 100
- 1 \leq M \leq 100
- 0 \leq A_i, X_{i,j} \leq 10^7
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

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

2 3
10 20 30
20 0 10
0 100 100

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

Yes

สำหรับสารอาหาร 1 ทาคาฮาชิได้รับ 20 หน่วยจากอาหารที่ 1 และ 0 หน่วยจากอาหารที่ 2 รวมเป็น 20 หน่วย จึงบรรลุเป้าหมายในการได้รับอย่างน้อย 10 หน่วย ในทำนองเดียวกัน เขาบรรลุเป้าหมายสำหรับสารอาหาร 2 และ 3

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

2 4
10 20 30 40
20 0 10 30
0 100 100 0

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

No

ไม่บรรลุเป้าหมายสำหรับสารอาหาร 4

ทาคาฮาชิมีความใส่ใจต่อสุขภาพและกังวลว่าเขาจะได้รับสารอาหารประเภท M เพียงพอจากอาหารของเขาหรือไม่
สำหรับสารอาหาร i-th เป้าหมายของเขาคือการใช้หน่วย A_i อย่างน้อยต่อวัน
วันนี้เขาได้รับ X_{i, j} หน่วยของสารอาหาร j จากอาหารที่ i
ตรวจสอบว่าเขาบรรลุเป้าหมายสำหรับสารอาหารทุกชนิดหรือไม่

ป้อนข้อมูล

อินพุตได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N M
A_1 \ldots A_M
X_{1,1} \ldots X_{1,M}
\vdots
X_{N,1} \ldots X_{N,M}

เอาท์พุท

พิมพ์ 'ใช่' ถ้าบรรลุเป้าหมายสำหรับสารอาหารทุกชนิด และพิมพ์ 'ไม่' ถ้าไม่บรรลุเป้าหมาย

ข้อ จำกัด

- 1 \leq N \leq 100
- 1 \leq M \leq 100
- 0 \leq A_i, X_{i,j} \leq 10^7
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

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

2 3
10 20 30
20 0 10
0 100 100

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

Yes

สำหรับสารอาหาร 1 ทาคาฮาชิได้รับ 20 หน่วยจากอาหารที่ 1 และ 0 หน่วยจากอาหารที่ 2 รวมเป็น 20 หน่วย ซึ่งบรรลุเป้าหมายในการรับอย่างน้อย 10 หน่วย
ในทำนองเดียวกันเขาบรรลุเป้าหมายสำหรับสารอาหาร 2 และ 3

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

2 4
10 20 30 40
20 0 10 30
0 100 100 0

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

No

เป้าหมายไม่เป็นไปตามสารอาหาร 4


สำหรับจำนวนเต็มที่ไม่เป็นลบ K เราให้คำจำกัดความพรมระดับ K ดังต่อไปนี้:

- พรมระดับ 0 คือตาราง 1 \times 1 ที่ประกอบด้วยเซลล์สีดำเซลล์เดียว
- สำหรับ K > 0 พรมระดับ K คือตาราง 3^K \times 3^K เมื่อตารางนี้ถูกแบ่งออกเป็นบล็อก 3^{K-1} \times 3^{K-1} จำนวน 9 บล็อก:
- บล็อกตรงกลางประกอบด้วยเซลล์สีขาวทั้งหมด
- บล็อกอีกแปดบล็อกเป็นพรมระดับ (K-1)

คุณจะได้รับจำนวนเต็มที่ไม่เป็นลบ N
พิมพ์พรมระดับ N ตามรูปแบบที่ระบุ

อินพุต

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

เอาต์พุต

พิมพ์ 3^N บรรทัด
บรรทัดที่ i (1 \leq i \leq 3^N) ควรมีสตริง S_i ที่มีความยาว 3^N ซึ่งประกอบด้วย . และ # อักขระตัวที่ j ของ S_i (1 \leq j \leq 3^N) ควรเป็น # หากเซลล์ที่แถวที่ i จากด้านบนและคอลัมน์ที่ j จากด้านซ้ายของพรมระดับ N เป็นสีดำ และ . หากเป็นสีขาว

ข้อจำกัด

- 0 \leq N \leq 6
- N เป็นจำนวนเต็ม

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

1

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

###
#.#
###

พรมระดับ 1 เป็นตาราง 3 \times 3 ดังต่อไปนี้:

เมื่อเอาต์พุตตามรูปแบบที่ระบุ จะมีลักษณะเหมือนเอาต์พุตตัวอย่าง

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

2

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

#########
#.##.##.#
#########
###...###
#.#...#.#
###...###
#########
#.##.##.#
#########

พรมระดับ 2 คือ ตารางขนาด 9 \times 9

สำหรับจำนวนเต็ม K ที่ไม่ใช่ค่าลบ เรากําหนดพรมระดับ K ดังนี้:

- พรมระดับ 0 คือตาราง 1 \times 1 ซึ่งประกอบด้วยเซลล์สีดําเซลล์เดียว
- สําหรับ K > 0 พรมระดับ K คือตาราง 3^K × 3^K เมื่อตารางนี้แบ่งออกเป็นเก้าบล็อก 3^{K-1} \times 3^{K-1}:
- บล็อกกลางประกอบด้วยเซลล์สีขาวทั้งหมด
- อีกแปดบล็อกเป็นพรมระดับ (K-1)

คุณจะได้รับจํานวนเต็ม N ที่ไม่เป็นลบ
พิมพ์พรมระดับ N ตามรูปแบบที่กำหนด

อินพุต

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

ผลิตภัณฑ์

พิมพ์ 3^N บรรทัด
บรรทัดที่ i (1 \leq i \leq 3^N) ควรมีสตริง S_i ที่มีความยาว 3^N ประกอบด้วย . และ #
อักขระที่ j ของ S_i (1 \leq j \leq 3^N) ควรเป็น # ถ้าเซลล์ที่แถวที่ i จากด้านบนและคอลัมน์ที่ j จากด้านซ้ายของพรมระดับ N เป็นสีดํา และ . ถ้าเป็นสีขาว

ข้อจํากัด

0 \leq N \leq 6
- N เป็นจํานวนเต็ม

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

1

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

###
#.#
###

พรมระดับ 1 เป็นตาราง  3 \times 3 ดังนี้:

เมื่อพิมพ์ตามรูปแบบที่ระบุจะได้ผลลัพธ์ตามตัวอย่าง

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

2

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

#########
#.##.##.#
#########
###...###
#.#...#.#
###...###
#########
#.##.##.#
#########

พรมระดับ 2 เป็นตาราง 9 \times 9

สำหรับจำนวนเต็ม K ที่ไม่เป็นลบ เรานิยามพรมระดับ K ดังนี้:

- พรมระดับ 0 คือ ตารางขนาด 1 \times 1 ที่ประกอบด้วยเซลล์สีดำเพียงเซลล์เดียว
- สำหรับ K > 0, พรมระดับ K คือ ตารางขนาด 3^K \times 3^K เมื่อแบ่งตารางนี้เป็นบล็อกขนาด 3^{K-1} \times 3^{K-1} จำนวนเก้าบล็อก:
- บล็อกตรงกลางประกอบด้วยเซลล์สีขาวทั้งหมด
- บล็อกอื่นอีกแปดบล็อกเป็นพรมระดับ (K-1)

ให้จำนวนเต็ม N ที่ไม่เป็นลบ
พิมพ์พรมระดับ N ตามรูปแบบที่ระบุ

Input

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

Output

พิมพ์ 3^N บรรทัด
บรรทัดที่ i-th (1 \leq i \leq 3^N) ควรมีสตริง S_i ที่มีความยาว 3^N ประกอบด้วย . และ #
ตัวอักษรตัวที่ j-th ของ S_i (1 \leq j \leq 3^N) ควรเป็น # ถ้าเซลล์ที่แถวที่ i จากด้านบนและคอลัมน์ที่ j จากด้านซ้ายของพรมระดับ N เป็นสีดำ และ . ถ้าเป็นสีขาว

ข้อจำกัด

- 0 \leq N \leq 6
- N เป็นจำนวนเต็ม

ตัวอย่างInput 1

1

ตัวอย่างOutput 1

###
#.#
###

พรมระดับ 1 คือ ตารางขนาด 3 \times 3 ดังนี้:

เมื่อแสดงผลตามรูปแบบที่กำหนด จะมีลักษณะตามตัวอย่างเอาต์พุต

ตัวอย่างInput 2

2

ตัวอย่างOutput 2

#########
#.##.##.#
#########
###...###
#.#...#.#
###...###
#########
#.##.##.#
#########

พรมระดับ 2 คือ ตารางขนาด 9 \times 9


มีขวดน้ำยาฆ่าเชื้อที่สามารถฆ่าเชื้อมือได้ M มือพอดี
เอเลี่ยน N ตัวเข้ามาทีละตัวเพื่อฆ่าเชื้อมือของพวกเขา
เอเลี่ยนตัวที่ i (1 \leq i \leq N) มีมือ H_i และต้องการฆ่าเชื้อมือทั้งหมดของพวกเขาในครั้งเดียว
กำหนดว่าเอเลี่ยนกี่ตัวที่สามารถฆ่าเชื้อมือทั้งหมดของพวกเขาได้
ที่นี่ แม้ว่าจะมีน้ำยาฆ่าเชื้อเหลือไม่เพียงพอสำหรับเอเลี่ยนตัวหนึ่งที่จะฆ่าเชื้อมือทั้งหมดของพวกเขาเมื่อพวกเขาเริ่มต้น พวกมันก็จะใช้น้ำยาฆ่าเชื้อที่เหลือจนหมด

อินพุต

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

เอาต์พุต

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

ข้อจำกัด

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

5 10
2 3 2 5 3

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

3

เอเลี่ยนฆ่าเชื้อมือตามขั้นตอนต่อไปนี้:

- เอเลี่ยนตัวแรกฆ่าเชื้อมือทั้งสองข้าง น้ำยาฆ่าเชื้อที่เหลือสามารถฆ่าเชื้อได้ 10-2=8 มือ
- เอเลี่ยนตัวที่สองฆ่าเชื้อมือทั้งสามข้าง น้ำยาฆ่าเชื้อที่เหลือสามารถฆ่าเชื้อได้ 8-3=5 มือ
- เอเลี่ยนตัวที่สามฆ่าเชื้อมือทั้งสองข้าง น้ำยาฆ่าเชื้อที่เหลือสามารถฆ่าเชื้อได้ 5-2=3 มือ
- เอเลี่ยนตัวที่สี่มีมือห้าข้าง แต่มีน้ำยาฆ่าเชื้อเพียงพอสำหรับมือสามข้างเท่านั้น ดังนั้นพวกเขาจึงใช้น้ำยาฆ่าเชื้อจนหมดโดยไม่ฆ่าเชื้อมือทั้งหมด
ดังนั้นเอเลี่ยนสามตัวแรกสามารถฆ่าเชื้อมือได้ทั้งหมด ดังนั้นให้พิมพ์ 3

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

5 10
2 3 2 3 5

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

4

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

1 5
1

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

1

เอเลี่ยนทุกคนสามารถฆ่าเชื้อมือได้

มีขวดน้ำยาฆ่าเชื้อที่สามารถฆ่าเชื้อได้พอดีกับ M มือ
มีเอเลี่ยน N ตัว ที่มาเรียงกันทีละตัวเพื่อฆ่าเชื้อมือของพวกเขา
เอเลี่ยนตัวที่ i-th (1 \leq i \leq N) มีมือ H_i และต้องการฆ่าเชื้อมือทั้งหมดของพวกเขาหนึ่งครั้ง
จงหาว่ามีเอเลี่ยนกี่ตัวที่สามารถฆ่าเชื้อมือทั้งหมดของพวกเขาได้
ทั้งนี้ หากไม่มีน้ำยาฆ่าเชื้อเหลือพอสำหรับเอเลี่ยนในการฆ่าเชื้อมือทั้งหมดเมื่อเริ่มต้น พวกเขาจะใช้จนหมดที่เหลืออยู่

Input

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

Output

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

ข้อจำกัด

- 1 \leq N, M \leq 100
- 1 \leq H_i \leq 100
- ค่าทั้งหมดที่อยู่ในข้อมูลนำเข้าเป็นจำนวนเต็ม

ตัวอย่างInput 1

5 10
2 3 2 5 3

ตัวอย่างOutput 1

3

เอเลี่ยนฆ่าเชื้อมือในขั้นตอนดังนี้:

- เอเลี่ยนตัวแรกฆ่าเชื้อมือของพวกเขาทั้งสองมือ น้ำยาฆ่าเชื้อที่เหลือสามารถฆ่าเชื้อได้ 10-2=8 มือ
- เอเลี่ยนตัวที่สองฆ่าเชื้อมือของพวกเขาสามมือ น้ำยาฆ่าเชื้อที่เหลือสามารถฆ่าเชื้อได้ 8-3=5 มือ
- เอเลี่ยนตัวที่สามฆ่าเชื้อมือของพวกเขาสองมือ น้ำยาฆ่าเชื้อที่เหลือสามารถฆ่าเชื้อได้ 5-2=3 มือ
- เอเลี่ยนตัวที่สี่มี 5 มือ แต่มีน้ำยาฆ่าเชื้อเพียงพอสำหรับสามมือเท่านั้น จึงใช้จนหมดที่เหลืออยู่

ดังนั้น เอเลี่ยนสามตัวแรกสามารถฆ่าเชื้อมือทั้งหมดของพวกเขาได้ ดังนั้นให้พิมพ์ 3

ตัวอย่างInput 2

5 10
2 3 2 3 5

ตัวอย่างOutput 2

4

ตัวอย่างInput 3

1 5
1

ตัวอย่างOutput 3

1

เอเลี่ยนทั้งหมดสามารถฆ่าเชื้อมือของพวกเขาได้

มีขวดน้ำยาฆ่าเชื้อที่สามารถฆ่าเชื้อได้ทั้งหมด ￼ มือ
มีเอเลี่ยน ￼ ตัวที่เข้ามาทีละตัวเพื่อฆ่าเชื้อมือของพวกเขา
เอเลี่ยนตัวที่ ￼ (￼) มีมือ ￼ มือ และต้องการฆ่าเชื้อมือทั้งหมดของพวกเขาครั้งหนึ่ง
จงหาว่ามีเอเลี่ยนทั้งหมดกี่ตัวที่สามารถฆ่าเชื้อมือทั้งหมดของพวกเขาได้
ในกรณีที่น้ำยาฆ่าเชื้อเหลือไม่เพียงพอสำหรับเอเลี่ยนตัวใดตัวหนึ่งที่จะฆ่าเชื้อมือทั้งหมดของพวกเขา เอเลี่ยนตัวนั้นจะใช้จนหมดน้ำยาฆ่าเชื้อที่เหลืออยู่

อินพุต

อินพุตได้รับจาก Standard Input ในรูปแบบดังนี้:

N M
H_1 H_2 \ldots H_N

เอาต์พุต

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

เงื่อนไข
	•	￼
	•	￼
	•	ค่าทั้งหมดในอินพุตเป็นจำนวนเต็ม

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

5 10
2 3 2 5 3

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

3

คำอธิบาย:
เอเลี่ยนฆ่าเชื้อมือของพวกเขาดังนี้:
	•	เอเลี่ยนตัวแรกฆ่าเชื้อมือ 2 มือ น้ำยาฆ่าเชื้อที่เหลือสามารถฆ่าเชื้อได้ ￼ มือ
	•	เอเลี่ยนตัวที่สองฆ่าเชื้อมือ 3 มือ น้ำยาฆ่าเชื้อที่เหลือสามารถฆ่าเชื้อได้ ￼ มือ
	•	เอเลี่ยนตัวที่สามฆ่าเชื้อมือ 2 มือ น้ำยาฆ่าเชื้อที่เหลือสามารถฆ่าเชื้อได้ ￼ มือ
	•	เอเลี่ยนตัวที่สี่มีมือ 5 มือ แต่น้ำยาฆ่าเชื้อเหลือเพียงพอสำหรับ 3 มือเท่านั้น เอเลี่ยนตัวนี้จึงใช้จนหมดน้ำยาฆ่าเชื้อโดยที่ไม่สามารถฆ่าเชื้อมือทั้งหมดได้

ดังนั้นเอเลี่ยน 3 ตัวแรกสามารถฆ่าเชื้อมือทั้งหมดของพวกเขาได้ ให้พิมพ์ 3

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

5 10
2 3 2 3 5

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

4

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

1 5
1

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

1

เอเลี่ยนทุกตัวสามารถฆ่าเชื้อมือของพวกเขาได้ทั้งหมด


สำหรับจำนวนเต็มบวก N ให้ V_N เป็นจำนวนเต็มที่เกิดจากการต่อกันของ N จำนวน N ครั้ง
 โดยเฉพาะอย่างยิ่งให้พิจารณา N เป็นสตริง ต่อกัน N ชุด และถือผลลัพธ์เป็นจำนวนเต็มเพื่อให้ได้ V_N
ตัวอย่างเช่น V_3=333 และ V_{10}=10101010101010101010
หาค่าที่เหลือเมื่อ V_N ถูกหารด้วย 998244353

Input

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

Output

พิมพ์เศษที่เหลือเมื่อ V_N ถูกหารด้วย 998244353.

ข้อจำกัด

- 1 \leq N \leq 10^{18}
- N เป็นจำนวนเต็ม

ตัวอย่าง Input 1

5

ตัวอย่าง Output 1

55555

เศษที่ได้เมื่อ V_5=55555 ถูกหารด้วย 998244353 คือ 55555.

ตัวอย่าง Input 2

9

ตัวอย่างOutput 2

1755646

เศษที่เหลือเมื่อ V_9=999999999 ถูกหารด้วย 998244353 คือ 1755646.

ตัวอย่างInput 3

10000000000

ตัวอย่าง Output 3

468086693

โปรดทราบว่าข้อมูลนำเข้าอาจไม่สามารถใส่ลงในประเภทจำนวนเต็ม 32 บิตได้

สำหรับจำนวนเต็มบวก N ให้ V_N เป็นจำนวนเต็มที่เกิดจากการต่อ N ลงมา N ครั้ง
เพื่อให้แม่นยำยิ่งขึ้น ให้พิจารณา N เป็นสตริง ต่อ N สำเนาของมันและปฏิบัติต่อผลลัพธ์เป็นจำนวนเต็มเพื่อรับ V_N
ตัวอย่างเช่น V_3 = 333 และ V_ {10} = 10101010101010101010
หาเศษจากการหาร V_N ด้วย 998244353

ป้อนข้อมูล

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

เอาท์พุท

พิมพ์ส่วนที่เหลือเมื่อ V_N ถูกหารด้วย 998244353

ข้อ จำกัด

- 1 \leq N \leq 10^{18}
- N เป็นจำนวนเต็ม

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

5

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

55555

ส่วนที่เหลือเมื่อ V_5 = 55555 หารด้วย 998244353 คือ 55555

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

9

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

1755646

ส่วนที่เหลือเมื่อ V_9 = 999999999 ถูกหารด้วย 998244353 คือ 1755646

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

10000000000

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

468086693

โปรดทราบว่าอินพุตอาจไม่พอดีกับประเภทจำนวนเต็ม 32 บิต

สำหรับจำนวนเต็มบวก N ให้ V_N เป็นจำนวนเต็มที่สร้างขึ้นโดยการต่อ N จำนวน N ครั้งพอดี
กล่าวอีกนัยหนึ่ง ให้พิจารณา N เป็นสตริง ต่อ N สำเนาของสตริงนั้นเข้าด้วยกัน และถือว่าผลลัพธ์เป็นจำนวนเต็มเพื่อให้ได้ V_N
ตัวอย่างเช่น V_3=333 และ V_{10}=101010101010101010
หาเศษเหลือเมื่อ V_N หารด้วย 998244353

อินพุต

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

เอาต์พุต

พิมพ์เศษเหลือเมื่อ V_N หารด้วย 998244353

ข้อจำกัด

- 1 \leq N \leq 10^{18}
- N เป็นจำนวนเต็ม

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

5

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

55555

เศษที่เหลือเมื่อ V_5=55555 หารด้วย 998244353 คือ 55555

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

9

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

1755646

เศษที่เหลือเมื่อ V_9=99999999 หารด้วย 998244353 คือ 1755646

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

10000000000

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

468086693

โปรดทราบว่าอินพุตอาจไม่พอดีกับประเภทจำนวนเต็ม 32 บิต


คุณจะได้รับสตริง S ที่ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ความยาวของ S เป็นคี่
ถ้าจํานวนตัวพิมพ์ใหญ่ใน S มากกว่าจํานวนตัวพิมพ์เล็ก ให้แปลงตัวพิมพ์เล็กทั้งหมดใน S เป็นตัวพิมพ์ใหญ่
มิฉะนั้นให้แปลงตัวพิมพ์ใหญ่ทั้งหมดใน S เป็นตัวพิมพ์เล็ก

อินพุต

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

เอาต์พุต

พิมพ์สตริง S หลังจากแปลงตัวอักษรตามคําชี้แจงปัญหา

ข้อจํากัด

- S เป็นสตริงที่ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
- ความยาวของ S เป็นเลขคี่ระหว่าง 1 ถึง 99 รวม

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

AtCoder

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

atcoder

สตริง AtCoder ประกอบด้วยตัวอักษรตัวพิมพ์เล็กห้าตัวและตัวพิมพ์ใหญ่สองตัว ดังนั้น ให้แปลงตัวพิมพ์ใหญ่ทั้งหมดใน AtCoder เป็นตัวพิมพ์เล็ก ซึ่งส่งผลให้ atcoder

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

SunTORY

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

SUNTORY

สตริง SunTORY ประกอบด้วยตัวพิมพ์เล็กสองตัวและตัวพิมพ์ใหญ่ห้าตัว ดังนั้น ให้แปลงตัวอักษรตัวพิมพ์เล็กทั้งหมดใน SunTORY เป็นตัวพิมพ์ใหญ่ ซึ่งส่งผลให้ SUNTORY

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

a

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

a

คุณจะได้รับสตริง S ที่ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ความยาวของ S เป็นเลขคี่
หากจำนวนตัวอักษรตัวพิมพ์ใหญ่ใน S มากกว่าจำนวนตัวอักษรตัวพิมพ์เล็ก ให้แปลงตัวอักษรตัวพิมพ์เล็กทั้งหมดใน S เป็นตัวพิมพ์ใหญ่
มิฉะนั้น ให้แปลงตัวอักษรตัวพิมพ์ใหญ่ทั้งหมดใน S เป็นตัวพิมพ์เล็ก

อินพุต

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

เอาต์พุต

พิมพ์สตริง S หลังจากแปลงตัวอักษรตามคำชี้แจงปัญหา

ข้อจำกัด

- S เป็นสตริงที่ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
- ความยาวของ S เป็นเลขคี่ระหว่าง 1 ถึง 99 รวม

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

AtCoder

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

atcoder

สตริง AtCoder ประกอบด้วยตัวอักษรตัวพิมพ์เล็กห้าตัวและตัวอักษรตัวพิมพ์ใหญ่สองตัว ดังนั้น ให้แปลงตัวอักษรตัวพิมพ์ใหญ่ทั้งหมดใน AtCoder เป็นตัวพิมพ์เล็ก ซึ่งจะส่งผลให้เกิด atcoder

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

SunTORY

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

SUNTORY

สตริง SunTORY ประกอบด้วยตัวอักษรพิมพ์เล็กสองตัวและตัวอักษรพิมพ์ใหญ่ห้าตัว ดังนั้น ให้แปลงตัวอักษรพิมพ์เล็กทั้งหมดใน SunTORY เป็นตัวพิมพ์ใหญ่ ซึ่งจะส่งผลให้เป็น SUNTORY

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

a

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

a


มีกราฟที่มีทิศทางประกอบด้วยจุดยอด N จุด ซึ่งหมายเลขตั้งแต่ 1 ถึง N และมีขอบ N เส้น
องศาขาออกของจุดยอดทุกจุดคือ 1 และขอบจากจุดยอด i จะชี้ไปที่จุดยอด a_i
นับจำนวนคู่ของจุดยอด (u, v) ที่จุดยอด v สามารถเข้าถึงได้จากจุดยอด u
ที่นี่ จุดยอด v สามารถเข้าถึงได้จากจุดยอด u หากมีลำดับของจุดยอด w_0, w_1, \dots, w_K ที่มีความยาว K+1 ซึ่งเป็นไปตามเงื่อนไขต่อไปนี้ โดยเฉพาะอย่างยิ่ง หาก u = v จะสามารถเข้าถึงได้เสมอ

- w_0 = u
- w_K = v
- สำหรับทุก 0 \leq i \lt K จะมีขอบจากจุดยอด w_i ไปยังจุดยอด w_{i+1}

Input

ข้อมูลนำเข้าจะให้มาจาก Standard Input ในรูปแบบต่อไปนี้:
N
a_1 a_2 \dots a_N

Output

พิมพ์จำนวนคู่ของจุดยอด (u, v) ที่จุดยอด v สามารถเข้าถึงได้จากจุดยอด u

ข้อจำกัด

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

ตัวอย่างInput 1

4
2 1 1 4

ตัวอย่างOutput 1

8

จุดยอดที่เข้าถึงได้จากจุดยอด 1 คือ จุดยอด 1, 2
จุดยอดที่เข้าถึงได้จากจุดยอด 2 คือ จุดยอด 1, 2
จุดยอดที่เข้าถึงได้จากจุดยอด 3 คือ จุดยอด 1, 2, 3
จุดยอดที่เข้าถึงได้จากจุดยอด 4 คือ จุดยอด 4
ดังนั้นจำนวนคู่ของจุดยอด (u, v) ที่จุดยอด v สามารถเข้าถึงได้จากจุดยอด u คือ 8
หมายเหตุว่าขอบจากจุดยอด 4 เป็นลูปตัวเอง ซึ่งหมายความว่า มันชี้ไปที่จุดยอด 4 เอง

ตัวอย่างInput 2

5
2 4 3 1 2

ตัวอย่างOutput 2

14

ตัวอย่างInput 3

10
6 10 4 1 5 9 8 6 5 1

ตัวอย่างOutput 3

41

มีกราฟกำหนดทิศทางที่มีจุดยอด N จุดซึ่งมีหมายเลข 1 ถึง N ขอบและ N ขอบ
ดีกรีออกของจุดยอดแต่ละจุดคือ 1 และขอบจากจุดยอด i ชี้ไปที่จุดยอด a_i
นับจำนวนคู่ของจุดยอด (u, v) ที่ทำให้จุดยอด v สามารถเข้าถึงได้จากจุดยอด u
ในที่นี้ จุดยอด v สามารถเข้าถึงได้จากจุดยอด u ถ้ามีลำดับจุดยอด w_0, w_1, \dots, w_K ที่มีความยาว K+1 ที่ตรงตามเงื่อนไขต่อไปนี้ โดยเฉพาะอย่างยิ่ง ถ้า u = v จุดยอดนั้นจะสามารถเข้าถึงได้เสมอ

- w_0 = u
- w_K = v
- สำหรับทุก 0 \leq i \lt K จะมีขอบจากจุดยอด w_i ไปยังจุดยอด w_{i+1}

อินพุต

อินพุตจะได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N
a_1 a_2 \dots a_N

เอาต์พุต

พิมพ์จำนวนคู่ของจุดยอด (u, v) ที่สามารถเข้าถึงจุดยอด v ได้จากจุดยอด u

ข้อจำกัด

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

4
2 1 1 4

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

8

จุดยอดที่เข้าถึงได้จากจุดยอด 1 คือจุดยอด 1, 2
จุดยอดที่เข้าถึงได้จากจุดยอด 2 คือจุดยอด 1, 2
จุดยอดที่เข้าถึงได้จากจุดยอด 3 คือจุดยอด 1, 2, 3
จุดยอดที่เข้าถึงได้จากจุดยอด 4 คือจุดยอด 4
ดังนั้น จำนวนคู่ของจุดยอด (u, v) ที่เข้าถึงได้จากจุดยอด u คือ 8
โปรดสังเกตว่าขอบจากจุดยอด 4 เป็นลูปตัวเอง นั่นคือ ลูปนี้ชี้ไปที่จุดยอด 4 เอง
ตัวอย่างอินพุต 2

5
2 4 3 1 2

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

14

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

10
6 10 4 1 5 9 8 6 5 1

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

41

มีกราฟกำหนดทิศทางที่มีจุดยอด N จุดซึ่งมีหมายเลข 1 ถึง N ขอบและ N ขอบ
ดีกรีออกของจุดยอดแต่ละจุดคือ 1 และขอบจากจุดยอด i ชี้ไปที่จุดยอด a_i
นับจำนวนคู่ของจุดยอด (u, v) ที่ทำให้จุดยอด v เข้าถึงได้จากจุดยอด u
ในที่นี้ จุดยอด v เข้าถึงได้จากจุดยอด u ถ้ามีลำดับจุดยอด w_0, w_1, \dots, w_K ที่มีความยาว K+1 ที่ตรงตามเงื่อนไขต่อไปนี้ โดยเฉพาะอย่างยิ่ง ถ้า u = v จุดยอดนั้นจะเข้าถึงได้เสมอ

- w_0 = u
- w_K = v
- สำหรับทุก ๆ 0 \leq i \lt K จะมีขอบจากจุดยอด w_i ไปยังจุดยอด w_{i+1}

อินพุต

อินพุตจะได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N
a_1 a_2 \dots a_N

เอาต์พุต

พิมพ์จำนวนคู่ของจุดยอด (u, v) ที่สามารถเข้าถึงจุดยอด v ได้จากจุดยอด u

ข้อจำกัด

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

4
2 1 1 4

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

8

จุดยอดที่เข้าถึงได้จากจุดยอด 1 คือจุดยอด 1, 2
จุดยอดที่เข้าถึงได้จากจุดยอด 2 คือจุดยอด 1, 2
จุดยอดที่เข้าถึงได้จากจุดยอด 3 คือจุดยอด 1, 2, 3
จุดยอดที่เข้าถึงได้จากจุดยอด 4 คือจุดยอด 4
ดังนั้น จำนวนคู่ของจุดยอด (u, v) ที่เข้าถึงได้จากจุดยอด u คือ 8
โปรดสังเกตว่าขอบจากจุดยอด 4 เป็นลูปตัวเอง นั่นคือ ลูปนี้ชี้ไปที่จุดยอด 4 เอง
ตัวอย่างอินพุต 2

5
2 4 3 1 2

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

14

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

10
6 10 4 1 5 9 8 6 5 1

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

41


AtCoder Land ขายแผ่นกระเบื้องที่มีอักษรภาษาอังกฤษเขียนอยู่ Takahashi กำลังคิดจะทำป้ายชื่อโดยจัดเรียงแผ่นกระเบื้องเหล่านี้ให้เป็นแถว

หาจำนวนโมดูโล 998244353 ของสตริงที่ประกอบด้วยอักษรภาษาอังกฤษตัวพิมพ์ใหญ่ที่มีความยาวระหว่าง 1 ถึง K รวม ซึ่งเป็นไปตามเงื่อนไขต่อไปนี้:

- สำหรับทุกจำนวนเต็ม i ที่เป็นไปตาม 1 \leq i \leq 26 ต่อไปนี้จะเป็นจริง:
- ให้ a_i เป็นอักษรภาษาอังกฤษตัวพิมพ์ใหญ่ตัวที่ i ตามลำดับตามพจนานุกรม ตัวอย่างเช่น a_1 = A, a_5 = E, a_{26} = Z
- จำนวนครั้งของการปรากฏของ a_i ในสตริงอยู่ระหว่าง 0 ถึง C_i รวม

อินพุต

อินพุตจะได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
K
C_1 C_2 \ldots C_{26}

เอาต์พุต

พิมพ์คำตอบ

ข้อจำกัด

- 1 \leq K \leq 1000
- 0 \leq C_i \leq 1000
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

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

2
2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

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

10

สตริง 10 ตัวที่ตรงตามเงื่อนไขคือ A, B, C, AA, AB, AC, BA, BC, CA, CB

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

358
1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

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

64

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

1000
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000

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

270274035

AtCoder Land ขายแผ่นกระเบื้องที่มีอักษรภาษาอังกฤษเขียนอยู่ Takahashi กำลังคิดจะทำป้ายชื่อโดยจัดเรียงแผ่นกระเบื้องเหล่านี้ให้เป็นแถว

หาจำนวนโมดูโล 998244353 ของสตริงที่ประกอบด้วยอักษรภาษาอังกฤษตัวพิมพ์ใหญ่ที่มีความยาวระหว่าง 1 ถึง K รวม ซึ่งเป็นไปตามเงื่อนไขต่อไปนี้:

- สำหรับทุกจำนวนเต็ม i ที่เป็นไปตาม 1 \leq i \leq 26 ต่อไปนี้จะเป็นจริง:
- ให้ a_i เป็นอักษรภาษาอังกฤษตัวพิมพ์ใหญ่ตัวที่ i ตามลำดับตามพจนานุกรม ตัวอย่างเช่น a_1 = A, a_5 = E, a_{26} = Z
- จำนวนครั้งของการปรากฏของ a_i ในสตริงอยู่ระหว่าง 0 ถึง C_i รวม

อินพุต

อินพุตจะได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
K
C_1 C_2 \ldots C_{26}

เอาต์พุต

พิมพ์คำตอบ

ข้อจำกัด

- 1 \leq K \leq 1000
- 0 \leq C_i \leq 1000
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

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

2
2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

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

10

สตริง 10 ตัวที่ตรงตามเงื่อนไขคือ A, B, C, AA, AB, AC, BA, BC, CA, CB

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

358
1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

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

64

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

1000
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000

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

270274035


ใน AtCoder Land มีแผงขายป๊อปคอร์น N แผง หมายเลข 1 ถึง N มีรสชาติป๊อปคอร์นต่างกัน M รส ถูกระบุเป็น 1, 2, \dots, M แต่ไม่ใช่ทุกแผงขายทุกรสชาติ

Takahashi ได้รับข้อมูลว่ารสชาติใดที่แต่ละแผงขาย ข้อมูลนี้ถูกแสดงโดยสตริง N ตัว S_1, S_2, \dots, S_N ซึ่งแต่ละตัวมีความยาว M ถ้าตัวอักษรที่ j ของ S_i เป็น o หมายความว่าแผงที่ i ขายรสชาติที่ j ของป๊อปคอร์น ถ้าเป็น x หมายความว่าแผงที่ i ไม่ขายรสชาติที่ j แต่ละแผงขายป๊อปคอร์นอย่างน้อยหนึ่งรสชาติ และทุกรสชาติของป๊อปคอร์นจะขายที่แผงอย่างน้อยหนึ่งแห่ง

Takahashi ต้องการลองทุกรสชาติของป๊อปคอร์นแต่ไม่อยากเคลื่อนที่มากเกินไป กำหนดจำนวนแผงขายขั้นต่ำที่ Takahashi ต้องไปเพื่อซื้อป๊อปคอร์นทุกรสชาติ

อินพุต

อินพุตจะถูกให้จาก Standard Input ในรูปแบบดังนี้:
N M
S_1
S_2
\vdots
S_N

เอาต์พุต

พิมพ์จำนวนแผงขายขั้นต่ำที่ Takahashi ต้องไปเพื่อซื้อป๊อปคอร์นทุกรสชาติ

ข้อจำกัด

- N และ M เป็นจำนวนเต็ม
- 1 \leq N, M \leq 10
- แต่ละ S_i เป็นสตริงที่มีความยาว M ประกอบด้วย o และ x
- สำหรับทุก i (1 \leq i \leq N) มีอย่างน้อยหนึ่ง o ใน S_i
- สำหรับทุก j (1 \leq j \leq M) มีอย่างน้อยหนึ่ง i ซึ่งตัวอักษรที่ j ของ S_i เป็น o

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

3 5
oooxx
xooox
xxooo

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

2

เมื่อไปเยี่ยมชมแผงขายที่ 1 และ 3 คุณสามารถซื้อป๊อปคอร์นทุกรสชาติได้ เป็นไปไม่ได้ที่จะซื้อทุกรสชาติจากแผงเดียว ดังนั้นคำตอบคือ 2

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

3 2
oo
ox
xo

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

1

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

8 6
xxoxxo
xxoxxx
xoxxxx
xxxoxx
xxoooo
xxxxox
xoxxox
oxoxxo

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

3

ใน AtCoder Land มีstandsขายป๊อปคอร์น N standsที่มีหมายเลขตั้งแต่ 1 ถึง N standsหล่านี้มีป๊อปคอร์นรสชาติต่างๆ กัน M รสชาติ โดยมีป้ายกำกับว่า 1, 2, \dots, M แต่ไม่ใช่ว่าทุกstandsจะขายป๊อปคอร์นทุกรสชาติ
ทาคาฮาชิได้รับข้อมูลเกี่ยวกับป๊อปคอร์นรสชาติต่างๆ ที่ขายในแต่ละstands ข้อมูลนี้แสดงด้วยสตริง N สตริง S_1, S_2, \dots, S_N ที่มีความยาว M หากอักขระตัวที่ j ของ S_i เป็น o แสดงว่าstands i ขายป๊อปคอร์นรสชาติ j หากเป็น x แสดงว่าstands i ไม่ขายรสชาติ j แต่ละstandsขายป๊อปคอร์นอย่างน้อยหนึ่งรสชาติ และป๊อปคอร์นแต่ละรสจะขายอย่างน้อยหนึ่งstands
ทาคาฮาชิต้องการลองชิมป๊อปคอร์นทุกรสชาติแต่ไม่อยากเดินไปเดินมาบ่อยเกินไป กำหนดจำนวนstandsขั้นต่ำที่ทาคาฮาชิต้องไปเพื่อซื้อป๊อปคอร์นทุกรสชาติ

อินพุต

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

เอาต์พุต

พิมพ์จำนวนขั้นต่ำของstandsที่ Takahashi ต้องไปซื้อป๊อปคอร์นทุกรสชาติ

เงื่อนไข

- N และ M เป็นจำนวนเต็ม
- 1 \leq N, M \leq 10
- S_i แต่ละตัวคือสตริงที่มีความยาว M ประกอบด้วย o และ x
- สำหรับทุก i (1 \leq i \leq N) จะมีอย่างน้อยหนึ่งตัวใน S_i
- สำหรับทุก j (1 \leq j \leq M) จะมีอย่างน้อยหนึ่งตัว i ที่ตัวที่ j ของ S_i คือ o

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

3 5
oooxx
xooox
xxooo

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

2

คุณสามารถซื้อป๊อปคอร์นทุกรสชาติได้โดยการไปที่standsที่ 1 และที่ 3 เป็นไปไม่ได้ที่จะซื้อรสชาติทั้งหมดจากstandsเดียว ดังนั้นคำตอบคือ 2

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

3 2
oo
ox
xo

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

1

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

8 6
xoxxo
xxoxxx
xoxxxx
xoxx
xxoooo
xxxxox
xoxxox
oxoxxo

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

3

ใน AtCoder Land มีร้านขายป๊อปคอร์น N ร้านที่มีหมายเลขตั้งแต่ 1 ถึง N ร้านเหล่านี้มีป๊อปคอร์นรสชาติต่างๆ กัน M รสชาติ โดยมีป้ายกำกับว่า 1, 2, \dots, M แต่ไม่ใช่ว่าทุกร้านจะขายป๊อปคอร์นทุกรสชาติ
ทาคาฮาชิได้รับข้อมูลเกี่ยวกับป๊อปคอร์นรสชาติต่างๆ ที่ขายในแต่ละร้าน ข้อมูลนี้แสดงด้วยสตริง N สตริง S_1, S_2, \dots, S_N ที่มีความยาว M หากอักขระตัวที่ j ของ S_i เป็น o แสดงว่าร้าน i ขายป๊อปคอร์นรสชาติ j หากเป็น x แสดงว่าร้าน i ไม่ขายรสชาติ j แต่ละร้านขายป๊อปคอร์นอย่างน้อยหนึ่งรสชาติ และป๊อปคอร์นแต่ละรสจะขายอย่างน้อยหนึ่งร้าน
ทาคาฮาชิต้องการลองชิมป๊อปคอร์นทุกรสชาติแต่ไม่อยากเดินไปเดินมาบ่อยเกินไป กำหนดจำนวนร้านขั้นต่ำที่ทาคาฮาชิต้องไปเพื่อซื้อป๊อปคอร์นทุกรสชาติ
อินพุต

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

เอาต์พุต

พิมพ์จำนวนขั้นต่ำของร้านที่ Takahashi ต้องไปซื้อป๊อปคอร์นทุกรสชาติ

เงื่อนไข

- N และ M เป็นจำนวนเต็ม
- 1 \leq N, M \leq 10
- S_i แต่ละตัวคือสตริงที่มีความยาว M ประกอบด้วย o และ x
- สำหรับทุก i (1 \leq i \leq N) จะมีอย่างน้อยหนึ่งตัวใน S_i
- สำหรับทุก j (1 \leq j \leq M) จะมีอย่างน้อยหนึ่งตัว i ที่ตัวที่ j ของ S_i คือ o

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

3 5
oooxx
xooox
xxooo

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

2

คุณสามารถซื้อป๊อปคอร์นทุกรสชาติได้โดยการไปที่ร้านที่ 1 และที่ 3 เป็นไปไม่ได้ที่จะซื้อรสชาติทั้งหมดจากร้านเดียว ดังนั้นคำตอบคือ 2

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

3 2
oo
ox
xo

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

1

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

8 6
xxoxxo
xxoxxx
xoxxxx
xxxoxx
xxoooo
xxxxox
xoxxox
oxoxxo

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

3


ที่ทางเข้า AtCoder Land มีห้องขายตั๋วเดี่ยวซึ่งผู้เข้าชมจะต้องเข้าแถวเพื่อซื้อตั๋วทีละคน กระบวนการซื้อใช้เวลา A วินาทีต่อคน เมื่อคนที่อยู่ด้านหน้าของแถวซื้อตั๋วเสร็จ คนต่อไป (ถ้ามี) จะเริ่มกระบวนการซื้อทันที
ในขณะนี้ไม่มีใครอยู่ในแถวที่ห้องขายตั๋ว และจะมีคน N คนเข้ามาซื้อตั๋วทีละคน โดยเฉพาะอย่างยิ่ง คนที่ i จะมาถึงห้องขายตั๋วในเวลา T_i วินาทีจากนี้ หากมีแถวอยู่แล้ว พวกเขาจะเข้าแถวที่ปลายแถว หากไม่มี พวกเขาจะเริ่มกระบวนการซื้อทันที ในที่นี้ T_1 < T_2 < \dots < T_N
สำหรับ i\ (1 \leq i \leq N) แต่ละอัน ให้กำหนดว่าคนที่ i จะซื้อตั๋วเสร็จภายในกี่วินาทีจากนี้

อินพุต

อินพุตจะได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N A
T_1 T_2 \dots T_N

เอาต์พุต

พิมพ์ N บรรทัด บรรทัดที่ i ควรมีจำนวนวินาทีนับจากนี้เป็นต้นไปที่บุคคลที่ i จะซื้อตั๋วเสร็จ

ข้อจำกัด

- 1 \leq N \leq 100
- 0 \leq T_1 < T_2 < \dots < T_N \leq 10^6
- 1 \leq A \leq 10^6
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

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

3 4
0 2 10

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

4
8
14

เหตุการณ์ดำเนินไปตามลำดับต่อไปนี้:

- เวลา 0 วินาที: บุคคลที่ 1 มาถึงที่จำหน่ายตั๋วและเริ่มขั้นตอนการซื้อ
- เวลา 2 วินาที: บุคคลที่ 2 มาถึงที่จำหน่ายตั๋วและเข้าแถวต่อจากบุคคลที่ 1
- เวลา 4 วินาที: บุคคลที่ 1 เสร็จสิ้นขั้นตอนการซื้อตั๋ว และบุคคลที่ 2 เริ่มขั้นตอนการซื้อ - เวลา 8 วินาที: คนที่ 2 ซื้อตั๋วเสร็จ
- เวลา 10 วินาที: คนที่ 3 มาถึงที่จำหน่ายตั๋วและเริ่มขั้นตอนการซื้อ
- เวลา 14 วินาที: คนที่ 3 ซื้อตั๋วเสร็จ

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

3 3
1 4 7

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

4
7
10

เหตุการณ์ดำเนินไปตามลำดับต่อไปนี้:

- เวลา 1 วินาที: คนที่ 1 มาถึงที่จำหน่ายตั๋วและเริ่มขั้นตอนการซื้อ
- เวลา 4 วินาที: คนที่ 1 มาถึงที่จำหน่ายตั๋วเสร็จ และคนที่ 2 มาถึงที่จำหน่ายตั๋วและเริ่มขั้นตอนการซื้อ
- เวลา 7 วินาที: คนที่ 2 มาถึงที่จำหน่ายตั๋วเสร็จ และคนที่ 3 มาถึงที่จำหน่ายตั๋วและเริ่มขั้นตอนการซื้อ
- เวลา 10 วินาที: คนที่ 3 ซื้อตั๋วเสร็จ
ตัวอย่างอินพุต 3

10 50000
120190 165111 196897 456895 540000 552614 561627 743796 757613 991216

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

170190
220190
270190
506895
590000
640000
690000
793796
843796
1041216

ที่ทางเข้า AtCoder Land มีบูธขายตั๋วเพียงบูธเดียวที่ผู้เข้าชมเข้าแถวเพื่อซื้อตั๋วทีละคน ขั้นตอนการจัดซื้อใช้เวลา A วินาทีต่อคน เมื่อบุคคลที่อยู่ด้านหน้าของแถวซื้อตั๋วเสร็จแล้วบุคคลถัดไป (ถ้ามี) จะเริ่มกระบวนการซื้อทันที
ปัจจุบันไม่มีใครเข้าแถวที่บูธขายตั๋ว และ N คนจะมาซื้อตั๋วทีละคน โดยเฉพาะอย่างยิ่งคนที่ i จะมาถึงบูธขายตั๋ว T_i วินาทีนับจากนี้ หากมีบรรทัดอยู่แล้วพวกเขาจะเข้าร่วมกับจุดสิ้นสุดของเส้นนั้น หากไม่เป็นเช่นนั้นพวกเขาจะเริ่มกระบวนการจัดซื้อทันที ที่นี่ T_1 < T_2 < \dots < T_N
สําหรับแต่ละ i \(1\ leq i\ leq N) ให้กําหนดจํานวนวินาทีนับจากนี้คนที่ i จะซื้อตั๋วเสร็จ

อินพุต

อินพุตจะได้รับจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N A
T_1 T_2\ dots T_N

ผลิตภัณฑ์

แสดงผลบน N บรรทัด แต่ละบรรทัดที่ i ควรแสดงจำนวนวินาทีจากนี้ไปที่คนที่ i จะซื้อตั๋วเสร็จสิ้น

เงื่อนไข

1 \leq N \leq 100
0 \leq T_1 < T_2 < \dots < T_N \leq 10^6
1 \leq A \leq 10^6
ค่าทั้งหมดในข้อมูลนำเข้าเป็นจำนวนเต็ม
ตัวอย่างข้อมูลนำเข้า 1

3 4
0 2 10

ตัวอย่างผลิตภัณฑ์ 1

4
8
14

เหตุการณ์เกิดขึ้นตามลำดับดังนี้:

- ที่ 0 วินาที: คนที่ 1 มาถึงบูธจำหน่ายตั๋วและเริ่มกระบวนการซื้อ
- ที่ 2 วินาที: คนที่ 2 มาถึงบูธจำหน่ายตั๋วและต่อคิวหลังคนที่ 1
- ที่ 4 วินาที: คนที่ 1 ซื้อตั๋วเสร็จและคนที่ 2 เริ่มกระบวนการซื้อ
- ที่ 8 วินาที: คนที่ 2 ซื้อตั๋วเสร็จ
- ที่ 10 วินาที: คนที่ 3 มาถึงบูธจำหน่ายตั๋วและเริ่มกระบวนการซื้อ
- ที่ 14 วินาที: คนที่ 3 ซื้อตั๋วเสร็จ

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

3 3
1 4 7

ตัวอย่างผลิตภัณฑ์ 2

4
7
10

เหตุการณ์เกิดขึ้นตามลำดับดังนี้:

- ที่ 1 วินาที: คนที่ 1 มาถึงบูธจำหน่ายตั๋วและเริ่มกระบวนการซื้อ
- ที่ 4 วินาที: คนที่ 1 ซื้อตั๋วเสร็จ และคนที่ 2 มาถึงบูธจำหน่ายตั๋วและเริ่มกระบวนการซื้อ
- ที่ 7 วินาที: คนที่ 2 ซื้อตั๋วเสร็จ และคนที่ 3 มาถึงบูธจำหน่ายตั๋วและเริ่มกระบวนการซื้อ
- ที่ 10 วินาที: คนที่ 3 ซื้อตั๋วเสร็จ

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

10 50000
120190 165111 196897 456895 540000 552614 561627 743796 757613 991216

ตัวอย่างผลิตภัณฑ์ 3

170190
220190
270190
506895
590000
640000
690000
793796
843796
1041216

ที่ทางเข้า AtCoder Land มีบูธจำหน่ายตั๋วหนึ่งจุดที่นักท่องเที่ยวจะมาต่อคิวซื้อตั๋วทีละคน ขั้นตอนการซื้อตั๋วใช้เวลา A วินาทีต่อคน เมื่อคนที่อยู่หน้าสุดของแถวซื้อตั๋วเสร็จแล้ว คนต่อไป (ถ้ามี) จะเริ่มกระบวนการซื้อทันที
ปัจจุบันไม่มีใครต่อแถวที่บูธจำหน่ายตั๋วนี้ และจะมีคน N คน มาซื้อตั๋วทีละคน เจาะจงว่าคนที่ i-th จะมาถึงบูธจำหน่ายตั๋วในอีก T_i วินาทีจากนี้ไป ถ้ามีแถวอยู่แล้ว พวกเขาจะต่อท้ายแถว ถ้าไม่มี พวกเขาจะเริ่มกระบวนการซื้อทันที โดย T_1 < T_2 < \dots < T_N
สำหรับแต่ละ i\ (1 \leq i \leq N) จงหาจำนวนวินาทีจากนี้ไปที่คนที่ i-th จะซื้อตั๋วเสร็จสิ้น

Input

ข้อมูลนำเข้าจะได้รับจาก Standard Input ในรูปแบบดังนี้:
N A
T_1 T_2 \dots T_N

Output

แสดงผลบน N บรรทัด แต่ละบรรทัดที่ i-th ควรแสดงจำนวนวินาทีจากนี้ไปที่คนที่ i-th จะซื้อตั๋วเสร็จสิ้น

เงื่อนไข

- 1 \leq N \leq 100
- 0 \leq T_1 < T_2 < \dots < T_N \leq 10^6
- 1 \leq A \leq 10^6
- ค่าในข้อมูลนำเข้าทั้งหมดเป็นจำนวนเต็ม

ตัวอย่างInput 1

3 4
0 2 10

ตัวอย่างOutput 1

4
8
14

เหตุการณ์เกิดขึ้นตามลำดับดังนี้:

- ที่ 0 วินาที: คนที่ 1 มาถึงบูธจำหน่ายตั๋วและเริ่มกระบวนการซื้อ
- ที่ 2 วินาที: คนที่ 2 มาถึงบูธจำหน่ายตั๋วและต่อคิวหลังคนที่ 1
- ที่ 4 วินาที: คนที่ 1 ซื้อตั๋วเสร็จและคนที่ 2 เริ่มกระบวนการซื้อ
- ที่ 8 วินาที: คนที่ 2 ซื้อตั๋วเสร็จ
- ที่ 10 วินาที: คนที่ 3 มาถึงบูธจำหน่ายตั๋วและเริ่มกระบวนการซื้อ
- ที่ 14 วินาที: คนที่ 3 ซื้อตั๋วเสร็จ

ตัวอย่างInput 2

3 3
1 4 7

ตัวอย่างOutput 2

4
7
10

เหตุการณ์เกิดขึ้นตามลำดับดังนี้:

- ที่ 1 วินาที: คนที่ 1 มาถึงบูธจำหน่ายตั๋วและเริ่มกระบวนการซื้อ
- ที่ 4 วินาที: คนที่ 1 ซื้อตั๋วเสร็จ และคนที่ 2 มาถึงบูธจำหน่ายตั๋วและเริ่มกระบวนการซื้อ
- ที่ 7 วินาที: คนที่ 2 ซื้อตั๋วเสร็จ และคนที่ 3 มาถึงบูธจำหน่ายตั๋วและเริ่มกระบวนการซื้อ
- ที่ 10 วินาที: คนที่ 3 ซื้อตั๋วเสร็จ

ตัวอย่างInput 3

10 50000
120190 165111 196897 456895 540000 552614 561627 743796 757613 991216

ตัวอย่างOutput 3

170190
220190
270190
506895
590000
640000
690000
793796
843796
1041216


ร้านขายของที่ระลึกใน AtCoder Land ขายกล่อง N กล่อง
กล่องแต่ละกล่องมีหมายเลขกำกับตั้งแต่ 1 ถึง N และกล่อง i มีราคาอยู่ที่ A_i เยน และมีขนม A_i ชิ้น
ทาคาฮาชิต้องการซื้อ M กล่องจาก N กล่อง และมอบกล่องละ 1 กล่องให้กับ M คนชื่อ 1, 2, \ldots, M
ในที่นี้ เขาต้องการซื้อกล่องที่ตอบสนองเงื่อนไขต่อไปนี้:

- สำหรับแต่ละ i = 1, 2, \ldots, M คนที่ i จะได้รับกล่องที่มีขนมอย่างน้อย B_i ชิ้น

โปรดทราบว่าไม่อนุญาตให้มอบกล่องมากกว่าหนึ่งกล่องให้กับบุคคลเดียวหรือมอบกล่องเดียวกันให้กับหลายคน
ตรวจสอบว่าสามารถซื้อ M กล่องที่ตอบสนองเงื่อนไขได้หรือไม่ และหากทำได้ ให้หาจำนวนเงินรวมขั้นต่ำที่ทาคาฮาชิต้องจ่าย

อินพุต

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

เอาต์พุต

หากสามารถซื้อกล่อง M กล่องที่ตอบสนองเงื่อนไขได้ ให้พิมพ์จำนวนเงินขั้นต่ำทั้งหมดที่ทาคาฮาชิต้องจ่าย มิฉะนั้น ให้พิมพ์ -1

ข้อจำกัด

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

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

4 2
3 4 5 4
1 4

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

7

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

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

3 3
1 1 1
1000000000 1000000000 1000000000

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

-1

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

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

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

19

ร้านขายของที่ระลึกที่ AtCoder Land ขายกล่อง N
กล่องมีหมายเลข 1 ถึง N และกล่อง i มีราคา A_i เยนและมีขนม A_i ชิ้น
ทาคาฮาชิต้องการซื้อ M จาก N กล่องและมอบคนละหนึ่งกล่องให้กับ M คนชื่อ 1, 2, \ldots, M
ที่นี่เขาต้องการซื้อกล่องที่สามารถตอบสนองเงื่อนไขต่อไปนี้:

- สําหรับแต่ละ i = 1, 2, \ldots, M คน i จะได้รับกล่องที่มีขนมอย่างน้อย B_i ชิ้น

โปรดทราบว่าไม่อนุญาตให้ให้กล่องมากกว่าหนึ่งกล่องแก่บุคคลคนเดียวหรือให้กล่องเดียวกันแก่หลายคน
พิจารณาว่าเป็นไปได้หรือไม่ที่จะซื้อกล่อง M ที่สามารถตอบสนองเงื่อนไขได้ และหากเป็นไปได้ ให้ค้นหาจํานวนเงินรวมขั้นต่ําที่ทาคาฮาชิต้องจ่าย

อินพุต

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

ผลิตภัณฑ์

หากสามารถซื้อกล่อง M ที่สามารถตอบสนองเงื่อนไขได้ ให้พิมพ์จํานวนเงินขั้นต่ําที่ทาคาฮาชิต้องจ่าย มิฉะนั้น ให้พิมพ์ -1

ข้อจํากัด

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

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

4 2
3 4 5 4
1 4

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

7

ทาคาฮาชิสามารถซื้อกล่อง 1 และ 4 และมอบกล่อง 1 ให้กับบุคคลที่ 1 และกล่องที่ 4 ให้กับบุคคลที่ 2 เพื่อให้เป็นไปตามเงื่อนไข
ในกรณีนี้เขาต้องจ่ายทั้งหมด 7 เยนและเป็นไปไม่ได้ที่จะปฏิบัติตามเงื่อนไขโดยจ่ายน้อยกว่า 7 เยนดังนั้นพิมพ์ 7

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

3 3
1 1 1
1000000000 1000000000 1000000000

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

-1

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

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

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

19

ร้านขายของที่ระลึกใน AtCoder Land ขายกล่อง N กล่อง
กล่องถูกตั้งหมายเลข 1 ถึง N และกล่อง i มีราคา A_i เยน และมีลูกอม A_i ชิ้น
Takahashi ต้องการซื้อกล่อง M จาก N กล่องและมอบหนึ่งกล่องให้กับคน M คนที่ชื่อ 1, 2, \ldots, M
โดยเขาต้องการซื้อกล่องที่สามารถทำให้เงื่อนไขต่อไปนี้สำเร็จ:

- สำหรับแต่ละ i = 1, 2, \ldots, M คนที่ i ได้รับกล่องที่มีลูกอมอย่างน้อย B_i ชิ้น

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

Input

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

Output

ถ้าสามารถซื้อกล่อง M กล่องที่สามารถทำให้เงื่อนไขสำเร็จ ให้พิมพ์จำนวนเงินรวมที่น้อยที่สุดที่ Takahashi ต้องจ่าย มิฉะนั้น ให้พิมพ์ -1

เงื่อนไข

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

ตัวอย่างInput 1

4 2
3 4 5 4
1 4

ตัวอย่างOutput 1

7

Takahashi สามารถซื้อกล่อง 1 และ 4 และให้กล่อง 1 กับคนที่ 1 และกล่อง 4 กับคนที่ 2 เพื่อทำให้เงื่อนไขสำเร็จ
ในกรณีนี้ เขาต้องจ่าย 7 เยนรวม และไม่สามารถทำให้เงื่อนไขสำเร็จด้วยการจ่ายน้อยกว่า 7 เยน ดังนั้นพิมพ์ 7

ตัวอย่างInput 2

3 3
1 1 1
1000000000 1000000000 1000000000

ตัวอย่างOutput 2

-1

ตัวอย่างInput 3

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

ตัวอย่างOutput 3

19


ทาคาฮาชิกำลังมุ่งหน้าไปยัง AtCoder Land
มีป้ายอยู่ตรงหน้าเขา และเขาต้องการตรวจสอบว่าป้ายนั้นเขียนว่า AtCoder Land หรือไม่

คุณจะได้รับสตริงสองสตริงคือ S และ T ซึ่งคั่นด้วยช่องว่าง
ตรวจสอบว่า S = AtCoder และ T = Land หรือไม่

อินพุต

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

เอาต์พุต

หาก S = AtCoder และ T = Land ให้พิมพ์ Yes มิฉะนั้น ให้พิมพ์ No

ข้อจำกัด

- S และ T เป็นสตริงที่ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก โดยมีความยาวระหว่าง 1 ถึง 10 รวมทั้งสิ้น

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

AtCoder Land

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

Yes

S = AtCoder และ T = Land

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

CodeQUEEN Land

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

No

S ไม่ใช่ AtCoder

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

aTcodeR lANd

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

No

ตัวอักษรพิมพ์ใหญ่และพิมพ์เล็กถูกแยกต่างหาก

ทาคาฮาชิกำลังมุ่งหน้าไปยัง AtCoder Land
มีป้ายอยู่ตรงหน้าเขา และเขาต้องการตรวจสอบว่าป้ายนั้นเขียนว่า AtCoder Land หรือไม่

คุณจะได้รับสตริงสองสตริงคือ S และ T ซึ่งคั่นด้วยช่องว่าง
ตรวจสอบว่า S = AtCoder และ T = Land หรือไม่

อินพุต

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

เอาต์พุต

หาก S = AtCoder และ T = Land ให้พิมพ์ Yes มิฉะนั้น ให้พิมพ์ No

ข้อจำกัด

- S และ T เป็นสตริงที่ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก โดยมีความยาวระหว่าง 1 ถึง 10 รวมทั้งสิ้น

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

AtCoder Land

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

Yes

S = AtCoder และ T = Land

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

CodeQUEEN Land

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

No

S ไม่ใช่ AtCoder
ตัวอย่างอินพุต 3

aTcodeR lANd

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

No

ตัวอักษรพิมพ์ใหญ่และพิมพ์เล็กถูกแยกแยะ

ทาคาฮาชิกำลังมุ่งหน้าไปยัง AtCoder Land
มีป้ายอยู่ข้างหน้าเขา และเขาต้องการตรวจสอบว่าบนป้ายเขียนว่า “AtCoder Land” หรือไม่

อินพุต

คุณจะได้รับสตริงสองตัว ￼ และ ￼ ที่แยกด้วยช่องว่าง
ตรวจสอบว่า ￼ และ ￼ หรือไม่

เอาต์พุต

หาก ￼ และ ￼ ให้พิมพ์ Yes
มิฉะนั้น ให้พิมพ์ No

เงื่อนไข
	•	￼ และ ￼ เป็นสตริงที่ประกอบด้วยตัวอักษรภาษาอังกฤษตัวเล็กและตัวใหญ่
	•	ความยาวของ ￼ และ ￼ อยู่ระหว่าง 1 ถึง 10 ตัวอักษร

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

AtCoder Land

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

Yes

คำอธิบาย:
￼ และ ￼ ดังนั้นผลลัพธ์คือ Yes

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

CodeQUEEN Land

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

No

คำอธิบาย:
￼ ดังนั้นผลลัพธ์คือ No

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

aTcodeR lANd

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

No

ตัวอักษรตัวเล็กและตัวใหญ่มีความแตกต่างกัน ￼


ระนาบพิกัดถูกปกคลุมด้วยไทล์ 2\times1 ไทล์ถูกจัดวางตามกฎต่อไปนี้:

- สำหรับคู่จำนวนเต็ม (i,j) สี่เหลี่ยม A _ {i,j}=\lbrace(x,y)\mid i\leq x\leq i+1\wedge j\leq y\leq j+1\rbrace จะอยู่ในไทล์เดียวกัน
- เมื่อ i+j เป็นเลขคู่ A _ {i,j} และ A _ {i + 1,j} จะอยู่ในไทล์เดียวกัน

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

ทาคาฮาชิเริ่มต้นที่จุด (S _ x+0.5,S _ y+0.5) บนระนาบพิกัด
ทาคาฮาชิสามารถทำซ้ำการเคลื่อนไหวต่อไปนี้ได้หลายครั้งตามต้องการ:

- เลือกทิศทาง (ขึ้น ลง ซ้าย หรือขวา) และจำนวนเต็มบวก n เคลื่อนที่ n หน่วยในทิศทางนั้น

ทุกครั้งที่เขาเข้าไปในช่อง เขาจะต้องจ่ายค่าผ่านทาง 1
หาค่าผ่านทางขั้นต่ำที่เขาต้องจ่ายเพื่อไปถึงจุดนั้น (T _ x+0.5,T _ y+0.5)

อินพุต

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

เอาต์พุต

พิมพ์ค่าผ่านทางขั้นต่ำที่ทาคาฮาชิต้องจ่าย

ข้อจำกัด

- 0\leq S _ x\leq2\times10 ^ {16}
- 0\leq S _ y\leq2\times10 ^ {16}
- 0\leq T _ x\leq2\times10 ^ {16}
- 0\leq T _ y\leq2\times10 ^ {16}
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม
ตัวอย่างอินพุต 1

5 0
2 5

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

5

ตัวอย่างเช่น ทาคาฮาชิสามารถจ่ายค่าผ่านทาง 5 โดยเคลื่อนที่ดังนี้:

- เคลื่อนที่ไปทางซ้าย 1 จ่ายค่าผ่านทาง 0
- เคลื่อนที่ขึ้น 1 จ่ายค่าผ่านทาง 1
- เคลื่อนที่ไปทางซ้าย 1 จ่ายค่าผ่านทาง 0
- เคลื่อนที่ขึ้น 3 จ่ายค่าผ่านทาง 3
- เคลื่อนที่ไปทางซ้าย 1 จ่ายค่าผ่านทาง 0
- เคลื่อนที่ขึ้น 1 จ่ายค่าผ่านทาง 1

ไม่สามารถลดค่าผ่านทางให้เหลือ 4 หรือต่ำกว่านั้นได้ ดังนั้นให้พิมพ์ 5

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

3 1
4 1

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

0

มีบางกรณีที่ไม่จำเป็นต้องจ่ายค่าผ่านทาง

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

2552608206527595 5411232866732612
771856005518028 7206210729152763

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

1794977862420151

โปรดทราบว่าค่าที่จะเอาต์พุตอาจเกินช่วงของจำนวนเต็ม 32 บิต

ระนาบพิกัดถูกปกคลุมด้วยกระเบื้อง 2\Times1 กระเบื้องถูกวางตามกฎต่อไปนี้:

- สำหรับคู่จำนวนเต็ม (i, j), สแควร์ A _ {i,j}=\lbrace(x,y)\mid i\leq x\leq i+1\wedge j\leq y\leq j+1\rbrace มีอยู่ในกระเบื้องเดียว
- เมื่อ i + j เป็นคู่, A_ {i, j} และ A_ {i + 1, j} อยู่ในกระเบื้องเดียวกัน

กระเบื้องรวมขอบเขตของตัวเอง และไม่มีกระเบื้องที่แตกต่างกันสองชิ้นที่แบ่งปันพื้นที่เชิงบวก
ใกล้ต้นกำเนิดกระเบื้องจะถูกจัดวางดังนี้:

Takahashi เริ่มต้นที่จุด (S _ x+0.5,S _ y+0.5) บนระนาบพิกัด
เขาสามารถทำซ้ำการเคลื่อนไหวต่อไปนี้หลายครั้งตามที่เขาชอบ:

- เลือกทิศทาง (ขึ้น, ลง, ซ้ายหรือขวา) และจำนวนเต็มบวก n ย้าย n หน่วยในทิศทางนั้น

ทุกครั้งที่เขาเข้าสู่กระเบื้องเขาจะจ่ายค่าโทร 1
ค้นหาค่าโทรขั้นต่ำที่เขาต้องจ่ายเพื่อไปยังจุด (T _ x+0.5, T_ y+0.5)

ป้อนข้อมูล

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

เอาท์พุท

พิมพ์ค่าโทร Takahashi ขั้นต่ำต้องจ่าย

ข้อ จำกัด

- 0\leq S _ x\leq2\times10 ^ {16}
- 0\leq S _ y\leq2\times10 ^ {16}
- 0\leq T _ x\leq2\times10 ^ {16}
- 0\leq T _ y\leq2\times10 ^ {16}
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

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

5 0
2 5

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

5

ตัวอย่างเช่น Takahashi สามารถจ่ายค่าโทร 5 โดยการย้ายดังนี้:

- เลื่อนไปทางซ้ายโดย 1. จ่ายค่าโทร 0
- เลื่อนขึ้นโดย 1. จ่ายค่าโทร 1
- เลื่อนไปทางซ้ายโดย 1. จ่ายค่าโทร 0
- เลื่อนขึ้นไป 3. จ่ายค่าโทร 3
- เลื่อนไปทางซ้ายโดย 1. จ่ายค่าโทร 0
- เลื่อนขึ้นโดย 1. จ่ายค่าโทร 1

เป็นไปไม่ได้ที่จะลดค่าโทรเป็น 4 หรือน้อยกว่าดังนั้นพิมพ์ 5

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

3 1
4 1

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

0

มีหลายกรณีที่ไม่จำเป็นต้องชำระค่าโทร

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

2552608206527595 5411232866732612
771856005518028 7206210729152763

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

1794977862420151

โปรดทราบว่าค่าที่จะส่งออกอาจเกินช่วงของจำนวนเต็ม 32 บิต


มีคน 2N คนยืนเรียงกันเป็นแถว และคนที่อยู่ตำแหน่งที่ i จากซ้ายสวมเสื้อผ้าสี A_i ในที่นี้ เสื้อผ้ามี N สีตั้งแต่ 1 ถึง N และมีคนสองคนที่สวมเสื้อผ้าสีแต่ละสีพอดี
หาว่าจำนวนเต็ม i=1,2,\ldots,N กี่จำนวนที่ตอบสนองเงื่อนไขต่อไปนี้:

- มีคนเพียงคนเดียวระหว่างคนสองคนที่สวมเสื้อผ้าสี i

อินพุต

อินพุตกำหนดจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N
A_1 A_2 \ldots A_{2N}

เอาต์พุต

พิมพ์คำตอบ

เงื่อนไข

- 2 \leq N \leq 100
- 1 \leq A_i \leq N
- จำนวนเต็มตั้งแต่ 1 ถึง N ปรากฏขึ้นสองครั้งพอดีใน A
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม
ตัวอย่างอินพุต 1

3
1 2 1 3 2 3

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

2

มีค่า i สองค่าที่ตรงตามเงื่อนไข: 1 และ 3
อันที่จริงแล้ว คนที่สวมเสื้อผ้าสี 1 อยู่ในตำแหน่งที่ 1 และ 3 จากซ้าย โดยมีคนหนึ่งอยู่ในตำแหน่งระหว่างนั้นพอดี

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

2
1 1 2 2

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

0

อาจไม่มี i ตัวใดที่ตรงตามเงื่อนไข

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

4
4 3 2 3 2 1 4 1

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

3

มีคน 2N คนยืนอยู่ในแถว และคนที่ตำแหน่งที่ i จากทางซ้ายกำลังสวมเสื้อผ้าสี A_i โดยที่เสื้อผ้ามีสี N สีตั้งแต่ 1 ถึง N และมีคนสองคนสวมเสื้อผ้าของแต่ละสี
หาว่ามีกี่จำนวนเต็ม i=1,2,\ldots,N ที่เป็นไปตามเงื่อนไขต่อไปนี้:

- มีเพียงคนเดียวระหว่างคนสองคนที่สวมเสื้อผ้าสี i

Input

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

Output

พิมพ์คำตอบ

ข้อจำกัด

- 2 \leq N \leq 100
- 1 \leq A_i \leq N
- แต่ละจำนวนเต็มตั้งแต่ 1 ถึง N ปรากฏใน A สองครั้งเท่านั้น
- ค่าทั้งหมดของอินพุตเป็นจำนวนเต็ม

ตัวอย่างInput 1

3
1 2 1 3 2 3

ตัวอย่างOutput 1

2

มีสองค่าของ i ที่เป็นไปตามเงื่อนไข: 1 และ 3
ในความเป็นจริง คนที่สวมเสื้อผ้าสี 1 อยู่ที่ตำแหน่งที่ 1 และ 3 จากทางซ้าย โดยมีคนเพียงคนเดียวคั่นกลาง

ตัวอย่างInput 2

2
1 1 2 2

ตัวอย่างOutput 2

0

อาจไม่มีค่า i ที่เป็นไปตามเงื่อนไข

ตัวอย่างInput 3

4
4 3 2 3 2 1 4 1

ตัวอย่างOutput 3

3


คุณจะได้รับลำดับของจำนวนเต็มบวกที่มีความยาว N: H=(H _ 1,H _ 2,\dotsc,H _ N)
มีลำดับของจำนวนเต็มที่ไม่เป็นลบที่มีความยาว N+1: A=(A _ 0,A _ 1,\dotsc,A _ N) ในตอนแรก A _ 0=A _ 1=\dotsb=A _ N=0 ดำเนินการต่อไปนี้ซ้ำๆ กับ A:

- เพิ่มค่าของ A _ 0 ขึ้น 1
- สำหรับ i=1,2,\ldots,N ตามลำดับนี้ ให้ดำเนินการต่อไปนี้:
- หาก A _ {i-1}\gt A _ i และ A _ {i-1}\gt H _ i ให้ลดค่าของ A _ {i-1} ลง 1 และเพิ่มค่าของ A _ i ขึ้น 1

สำหรับ i=1,2,\ldots,N แต่ละครั้ง ให้หาจำนวนการดำเนินการก่อนที่ A _ i>0 จะเกิดขึ้นเป็นครั้งแรก

อินพุต

อินพุตกำหนดจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N
H _ 1 H _ 2 \dotsc H _ N

เอาต์พุต

พิมพ์คำตอบสำหรับ i=1,2,\ldots,N ในบรรทัดเดียว โดยคั่นด้วยช่องว่าง

ข้อจำกัด

- 1\leq N\leq2\times10 ^ 5
- 1\leq H _ i\leq10 ^ 9\ (1\leq i\leq N)
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

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

5
3 1 4 1 5

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

4 5 13 14 26

ห้าการดำเนินการแรกเป็นไปดังนี้
โดยที่แต่ละแถวจะสอดคล้องกับการดำเนินการหนึ่งครั้ง โดยคอลัมน์ซ้ายสุดแสดงถึงขั้นตอนที่ 1 และคอลัมน์ที่เหลือแสดงถึงขั้นตอนที่ 2

จากไดอะแกรมนี้ A _ 1\gt0 เป็นจริงเป็นครั้งแรกหลังจากการดำเนินการครั้งที่ 4 และ A _ 2\gt0 เป็นจริงเป็นครั้งแรกหลังจากการดำเนินการครั้งที่ 5
ในทำนองเดียวกัน คำตอบสำหรับ A _ 3, A _ 4, A _ 5 คือ 13, 14, 26 ตามลำดับ ดังนั้น คุณควรพิมพ์ 4 5 13 14 26

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

6
1000000000 1000000000
1000000000 1000000000
1000000000 1000000000

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

1000000001 2000000001
3000000001 4000000001
5000000001 6000000001

โปรดทราบว่าค่าที่จะเอาต์พุตอาจไม่พอดีกับจำนวนเต็ม 32 บิต

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

15
748 169 586 329 972 529 432 519
408 587 138 249 656 114 632

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

749 918 1921 2250 4861 5390
5822 6428 6836 7796 7934 8294
10109 10223 11373

คุณจะได้รับลำดับของจำนวนเต็มบวกที่มีความยาว N: H=(H _ 1,H _ 2,\dotsc,H _ N)
มีลำดับของจำนวนเต็มที่ไม่เป็นลบที่มีความยาว N+1: A=(A _ 0,A _ 1,\dotsc,A _ N) ในตอนแรก A _ 0=A _ 1=\dotsb=A _ N=0 ดำเนินการต่อไปนี้ซ้ำๆ กับ A:

- เพิ่มค่าของ A _ 0 ขึ้น 1
- สำหรับ i=1,2,\ldots,N ตามลำดับนี้ ให้ดำเนินการต่อไปนี้:
- หาก A _ {i-1}\gt A _ i และ A _ {i-1}\gt H _ i ให้ลดค่าของ A _ {i-1} ลง 1 และเพิ่มค่าของ A _ i ขึ้น 1

สำหรับ i=1,2,\ldots,N แต่ละครั้ง ให้หาจำนวนการดำเนินการก่อนที่ A _ i>0 จะเกิดขึ้นเป็นครั้งแรก

อินพุต

อินพุตกำหนดจากอินพุตมาตรฐานในรูปแบบต่อไปนี้:
N
H _ 1 H _ 2 \dotsc H _ N

เอาต์พุต

พิมพ์คำตอบสำหรับ i=1,2,\ldots,N ในบรรทัดเดียว โดยคั่นด้วยช่องว่าง
ข้อจำกัด

- 1\leq N\leq2\times10 ^ 5
- 1\leq H _ i\leq10 ^ 9\ (1\leq i\leq N)
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

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

5
3 1 4 1 5

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

4 5 13 14 26

ห้าการดำเนินการแรกเป็นไปดังนี้
โดยที่แต่ละแถวจะสอดคล้องกับการดำเนินการหนึ่งครั้ง โดยคอลัมน์ซ้ายสุดแสดงถึงขั้นตอนที่ 1 และคอลัมน์ที่เหลือแสดงถึงขั้นตอนที่ 2

จากไดอะแกรมนี้ A _ 1\gt0 เป็นจริงเป็นครั้งแรกหลังจากการดำเนินการครั้งที่ 4 และ A _ 2\gt0 เป็นจริงเป็นครั้งแรกหลังจากการดำเนินการครั้งที่ 5
ในทำนองเดียวกัน คำตอบสำหรับ A _ 3, A _ 4, A _ 5 คือ 13, 14, 26 ตามลำดับ ดังนั้น คุณควรพิมพ์ 4 5 13 14 26

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

6
1000000000 1000000000 1000000000 1000000000 1000000000 1000000000

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

10000000001 2000000001 3000000001 4000000001 5000000001 6000000001

โปรดทราบว่าค่าที่จะเอาต์พุตอาจไม่พอดีกับจำนวนเต็ม 32 บิต
ตัวอย่างอินพุต 3

15
748 169 586 329 972 529 432 519 408 587 138 249 656 114 632

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

749 918 1921 2250 4861 5390 5822 6428 6836 7796 7934 8294 10109 10223 11373


คุณได้รับ N สตริง
สตริงที่ i S_i (1 \leq i \leq N) คือ Takahashi หรือ Aoki
มี i อยู่กี่ตัวที่ทำให้ S_i เท่ากับ Takahashi

อินพุต

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

เอาต์พุต

พิมพ์จำนวน i ที่ทำให้ S_i เท่ากับ Takahashi เป็นจำนวนเต็มในบรรทัดเดียว

ข้อจำกัด

- 1 \leq N \leq 100
- N เป็นจำนวนเต็ม
- S_i แต่ละอันคือ Takahashi หรือ Aoki (1 \leq i \leq N)

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

3
Aoki
Takahashi
Takahashi

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

2

S_2 และ S_3 เท่ากับ Takahashi ในขณะที่ S_1 ไม่เท่ากับ ดังนั้น ให้พิมพ์ 2

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

2
Aoki
Aoki

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

0

เป็นไปได้ว่าไม่มี S_i ใดที่เท่ากับ Takahashi

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

20
Aoki
Takahashi
Takahashi
Aoki
Aoki
Aoki
Aoki
Takahashi
Aoki
Aoki
Aoki
Takahashi
Aoki
Takahashi
Aoki
Aoki
Aoki
Takahashi

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

7

คุณได้รับ N สตริง
สตริงที่ i S_i (1 \leq i \leq N) คือ ทาคาฮาชิ หรือ Aoki
มี i อยู่กี่ตัวที่ทำให้ S_i เท่ากับ ทาคาฮาชิ

อินพุต

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

เอาต์พุต

พิมพ์จำนวน i ที่ทำให้ S_i เท่ากับ Takahashi เป็นจำนวนเต็มในบรรทัดเดียว

ข้อจำกัด

- 1 \leq N \leq 100
- N เป็นจำนวนเต็ม
- S_i แต่ละอันคือ Takahashi หรือ Aoki (1 \leq i \leq N)

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

3
Aoki
Takahashi
Takahashi

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

2

S_2 และ S_3 เท่ากับ Takahashi ในขณะที่ S_1 ไม่ได้
ดังนั้นพิมพ์ 2.

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

2
Aoki
Aoki

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

0

เป็นไปได้ว่าไม่มี S_i ใดที่เท่ากับ Takahashi

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

20
Aoki
Takahashi
Takahashi
Aoki
Aoki
Aoki
Aoki
Takahashi
Aoki
Aoki
Aoki
Takahashi
Takahashi
Aoki
Takahashi
Aoki
Aoki
Aoki
Aoki
Takahashi

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

7


ให้คุณมีสตริง S ที่มีความยาว N ประกอบด้วยตัวอักษร A, B และ ?
คุณยังได้รับจำนวนเต็มบวก K
โดยสตริง T ที่ประกอบด้วย A และ B จะถือเป็นสตริงที่ดีถ้ามันมีเงื่อนไขดังต่อไปนี้:

- ไม่มีสตริงย่อยที่ต่อเนื่องกันของความยาว K ใน T ที่เป็นพาลินโดรม

ให้ q เป็นจำนวนตัวอักษร ? ใน S
มีสตริง 2^q ที่สามารถถูกสร้างได้โดยการแทนแต่ละ ? ใน S ด้วย A หรือ B จงหาว่ามีกี่สตริงที่เป็นสตริงที่ดี
ผลลัพธ์อาจมีค่ามาก จงหามันโมดูโล 998244353

Input

จะมีการให้ข้อมูลจาก Standard Input ในรูปแบบดังนี้:
N K
S

Output

พิมพ์คำตอบ

Constraints

- 2 \leq K \leq N \leq 1000
- K \leq 10
- S เป็นสตริงที่ประกอบด้วย A, B และ ?
- ความยาวของ S คือ N
- N และ K เป็นจำนวนเต็ม

ตัวอย่าง Input 1

7 4
AB?A?BA

ตัวอย่าง Output 1

1

สตริงที่ให้มามีสองตัว?s
มีสตริงสี่ตัวที่ได้จากการแทนแต่ละ ? ด้วย A หรือ B:

- ABAAABA
- ABAABBA
- ABBAABA
- ABBABBA

ในบรรดานี้ สามตัวสุดท้ายมีสตริงย่อยต่อเนื่อง ABBA ที่มีความยาว 4 ซึ่งเป็นพาลินโดรม ดังนั้นจึงไม่ใช่สตริงที่ดี
ดังนั้น คุณควรพิมพ์ 1

ตัวอย่าง Input 2

40 7
????????????????????????????????????????

ตัวอย่าง Output 2

116295436

ตรวจสอบให้แน่ใจว่าการนับจำนวนสตริงที่ดีเป็นโมดูโล 998244353

ตัวอย่าง Input 3

15 5
ABABA??????????

ตัวอย่าง Output 3

0

อาจจะไม่มีวิธีที่จะนับ ?s เพื่อให้ได้สตริงที่ดี

ตัวอย่าง Input 4

40 8
?A?B??B?B?AA?A?B??B?A???B?BB?B???BA??BAA

ตัวอย่าง Output 4

259240

คุณจะได้รับสตริงที่มีความยาว N ประกอบด้วยอักขระ A, B, และ?
คุณยังได้รับจำนวนเต็มบวก K
สตริง T ประกอบด้วย A และ B ถือเป็นสตริงที่ดีหากเป็นไปตามเงื่อนไขต่อไปนี้:

- ไม่มีสายย่อยที่ต่อเนื่องกันของความยาว K ใน T เป็น palindrome

ให้ q เป็นจำนวนของ? อักขระใน S.
มีสตริง 2^q ที่สามารถรับได้โดยการแทนที่แต่ละอักขระ? ใน S ที่มี A หรือ B ค้นหาจำนวนสตริงเหล่านี้เป็นสตริงที่ดี
การนับอาจมีขนาดใหญ่มากดังนั้นหาโมดูล 998244353

ป้อนข้อมูล

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

เอาท์พุท

พิมพ์คำตอบ

ข้อ จำกัด

- 2 \leq K \leq N \leq 1000
- K \leq 10
- S เป็นสตริงที่ประกอบด้วย A, B และ?
- ความยาวของ S คือ N
- N และ K เป็นจำนวนเต็ม

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

7 4
AB?A?BA

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

1

สตริงที่กำหนดมีสอง?
มีสี่สตริงที่ได้จากการแทนที่แต่ละสาย? ด้วย A หรือ B:

- ABAAABA
- ABAABBA
- ABBAABA
- ABBABBA

ในบรรดาสิ่งเหล่านี้สามสตริงสุดท้ายมีสายย่อย ABBA ที่ต่อเนื่องกันของความยาว 4 ซึ่งเป็น palindrome และดังนั้นจึงไม่ใช่สตริงที่ดี
ดังนั้นคุณควรพิมพ์ 1

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

40 7
????????????????????????????????????????

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

116295436

ตรวจสอบให้แน่ใจว่ามีจำนวนสตริงที่ดีโมดูโล 998244353

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

15 5
ABABA ??????????

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

0

เป็นไปได้ว่าไม่มีวิธีใดที่จะเปลี่ยนได้รับสตริงที่ดี

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

40 8
?A?B??B?B?AA?A?B??B?A???B?BB?B???BA??BAA

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

259240

คุณได้รับสตริง S ที่มีความยาว N ซึ่งประกอบด้วยอักขระ A, B และ ?
คุณยังได้รับจำนวนเต็มบวก K ด้วย
สตริง T ที่ประกอบด้วย A และ B ถือเป็นสตริงที่ดีหากตรงตามเงื่อนไขต่อไปนี้:

- ไม่มีสตริงย่อยที่ต่อเนื่องกันที่มีความยาว K ใน T ที่เป็นพาลินโดรม

ให้ q เป็นจำนวนอักขระ ? ใน S
มีสตริง 2^q สตริงที่สามารถรับได้โดยการแทนที่ ? แต่ละตัวใน S ด้วย A หรือ B หาว่ามีสตริงที่ดีกี่สตริง
จำนวนนับอาจมากได้ ดังนั้นให้หาค่าโมดูโล 998244353

อินพุต

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

เอาต์พุต

พิมพ์คำตอบ

ข้อจำกัด

- 2 \leq K \leq N \leq 1000
- K \leq 10
- S เป็นสตริงที่ประกอบด้วย A, B และ ?
- ความยาวของ S คือ N
- N และ K เป็นจำนวนเต็ม

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

7 4
AB?A?BA

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

1

สตริงที่กำหนดมี ? สองตัว
มีสี่สตริงที่ได้จากการแทนที่ ? แต่ละตัวด้วย A หรือ B:

- ABAAABA
- ABAABBA
- ABBAABA
- ABBABBA

ในจำนวนนี้ สามตัวสุดท้ายมีสตริงย่อย ABBA ที่ต่อเนื่องกันซึ่งมีความยาว 4 ซึ่งเป็นพาลินโดรม ดังนั้นจึงไม่ใช่สตริงที่ดี
ดังนั้น คุณควรพิมพ์ 1

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

40 7
????????????????????????????????????

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

116295436

ตรวจสอบให้แน่ใจว่าได้จำนวนสตริงที่ดีโมดูโล 998244353 แล้ว

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

15 5
ABABA??????????
ตัวอย่างผลลัพธ์ 3

0

อาจไม่มีวิธีการแทนที่ ?s เพื่อให้ได้สตริงที่ดี

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

40 8
?A?B??B?B?AA?A?B??B?A???B?BB?B???BA??BAA

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

259240


มีกล่อง N กล่องที่มีหมายเลข 1 ถึง N และรายการ N รายการที่มีหมายเลข 1 ถึง N รายการ i (1 \leq i \leq N) อยู่ในกล่อง A_i และมีน้ำหนัก W_i
คุณสามารถดำเนินการเลือกรายการและย้ายไปยังกล่องอื่นซ้ำ ๆ ได้ 0 ครั้งหรือมากกว่านั้น หากน้ำหนักของรายการที่จะย้ายคือ w ค่าใช้จ่ายในการดำเนินการคือ w
หาต้นทุนรวมขั้นต่ำที่จำเป็นในการทำให้แต่ละกล่องมีรายการพอดี 1 รายการ

อินพุต

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

เอาต์พุต

พิมพ์ต้นทุนรวมขั้นต่ำที่จำเป็นในการทำให้แต่ละกล่องมีรายการพอดี 1 รายการ
ข้อจำกัด

- 1 \leq N \leq 10^{5}
- 1 \leq A_i \leq N (1 \leq i \leq N)
- 1 \leq W_i \leq 10^{4} (1 \leq i \leq N)
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม
ตัวอย่างอินพุต 1

5
2 2 3 3 5
33 40 2 12 16

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

35

ด้วยการเคลื่อนที่ 2 ทิศทางต่อไปนี้ คุณสามารถทำให้แต่ละกล่องมีไอเท็มได้พอดี 1 ชิ้น:

- ย้ายไอเท็ม 1 จากกล่อง 2 ไปยังกล่อง 1 ค่าใช้จ่ายคือ 33
- ย้ายไอเท็ม 3 จากกล่อง 3 ไปยังกล่อง 4 ค่าใช้จ่ายคือ 2

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

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

12
3 6 7 4 12 4 8 11 11 1 8 11
3925 9785 9752 3587 4013 1117 3937 7045 6437 6208 3391 6309

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

17254

มีกล่อง N หมายเลข 1 ถึง N และ N หมายเลขหมายเลข 1 ถึง N รายการ I (1 \leq i \leq N) อยู่ในกล่อง A_i และมีน้ำหนัก W_i
คุณสามารถเลือกรายการและย้ายไปยังกล่องอื่นได้หลายครั้งหรือไม่ย้ายเลย หากน้ำหนักของรายการที่ถูกย้ายคือ w ค่าใช้จ่ายของการดำเนินการคือ w
ค้นหาค่าใช้จ่ายทั้งหมดขั้นต่ำที่จำเป็นในการทำให้แต่ละกล่องมีรายการ

ป้อนข้อมูล

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

เอาท์พุท

พิมพ์ค่าใช้จ่ายขั้นต่ำทั้งหมดที่จำเป็นในการทำให้แต่ละกล่องมีรายการ

ข้อ จำกัด

-  1 \leq N \leq 10^{5}
-  1 \leq A_i \leq N (1 \leq i \leq N)
-  1 \leq W_i \leq 10^{4} (1 \leq i \leq N)
- ค่าอินพุตทั้งหมดเป็นจำนวนเต็ม

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

5
2 2 3 3 5
33 40 2 12 16

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

35

ด้วยการย้ายรายการสองครั้งต่อไปนี้ คุณสามารถทำให้แต่ละกล่องมีรายการเดียวได้:

- ย้ายรายการ 1 จากกล่อง 2 ไปยังกล่อง 1. ราคาคือ 33
- ย้ายรายการ 3 จากกล่อง 3 ไปยังกล่อง 4 ราคาคือ 2

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

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

12
3 6 7 4 12 4 8 11 11 1 8 11
3925 9785 9752 3587 4013 1117 3937 7045 6437 6208 3391 6309

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

17254


คุณได้รับสตริงสองตัว S และ T ซึ่งประกอบด้วยตัวอักษรภาษาอังกฤษขนาดเล็ก
ตรวจสอบว่ามีคู่ของจำนวนเต็ม c และ w หรือไม่ที่ทำให้ 1 \leq c \leq w < |S| และเงื่อนไขต่อไปนี้เป็นจริง โดยที่ |S| หมายถึงความยาวของสตริง S สังเกตว่า w ต้องน้อยกว่า |S|

- ถ้า S ถูกแบ่งที่ทุก ๆ w อักขระตั้งแต่เริ่มต้น การต่อกันของอักขระที่ c-th ของสตริงย่อยที่ยาวอย่างน้อย c ตามลำดับจะเท่ากับ T

อินพุต

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

เอาต์พุต

พิมพ์ Yes ถ้ามีคู่ของจำนวนเต็ม c และ w ที่ทำให้ 1 \leq c \leq w < |S| และเงื่อนไขเป็นจริง และพิมพ์ No ถ้าไม่

ข้อจำกัด

- S และ T เป็นสตริงที่ประกอบด้วยตัวอักษรภาษาอังกฤษขนาดเล็ก
- 1 \leq |T|  \leq  |S| \leq 100

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

atcoder toe

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

Yes

ถ้า S ถูกแบ่งที่ทุก ๆ สองอักขระ จะมีลักษณะดังนี้:
at
co
de
r

จากนั้น การต่อกันของอักขระที่สองของสตริงย่อยที่ยาวอย่างน้อยสองเท่ากับ toe ซึ่งเท่ากับ T ดังนั้นพิมพ์ Yes

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

beginner r

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

No

w=|S| ไม่อนุญาต และไม่มีคู่ของจำนวนเต็ม 1 \leq c \leq w < |S| ที่ทำให้เงื่อนไขเป็นจริง ดังนั้นพิมพ์ No

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

verticalreading agh

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

No

คุณจะได้รับสตริงสองสตริงคือ S และ T ที่ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็ก
ตรวจสอบว่ามีคู่ของจำนวนเต็ม c และ w อยู่หรือไม่ โดยที่ 1 \leq c \leq w < |S| และตรงตามเงื่อนไขต่อไปนี้ โดยที่ |S| หมายถึงความยาวของสตริง S โปรดทราบว่า w ต้องน้อยกว่า |S|

- หาก S ถูกแยกทุกๆ w ตัวอักษรจากจุดเริ่มต้น การเชื่อมต่อตัวอักษรตัวที่ c ของสตริงย่อยที่มีความยาวอย่างน้อย c ตามลำดับจะเท่ากับ T

อินพุต

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

เอาต์พุต

พิมพ์ ใช่ หากมีจำนวนเต็ม c และ w อยู่คู่ โดยที่ 1 \leq c \leq w < |S| และตรงตามเงื่อนไข และไม่ตรงตามเงื่อนไขในกรณีอื่น

ข้อจำกัด

- S และ T คือสตริงที่ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็ก
- 1 \leq |T|  \leq  |S| \leq 100

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

atcoder toe

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

Yes

หาก S ถูกแยกทุกๆ 2 อักขระ จะมีลักษณะดังนี้:
at
co
de
r

จากนั้นการต่อกันของตัวอักษรตัวที่ 2 ของสตริงย่อยที่มีความยาวอย่างน้อย 2 คือ toe ซึ่งเท่ากับ T ดังนั้นให้พิมพ์ Yes

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

beginner r

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

No

w=|S| ไม่ได้รับอนุญาต และไม่มีคู่ของจำนวนเต็ม 1 \leq c \leq w < |S| ที่ตรงตามเงื่อนไข ดังนั้น ให้พิมพ์ No

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

verticalreading agh

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

No

คุณจะได้รับสองสตริง S และ T ซึ่งประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็ก
ตรวจสอบว่ามีคู่ของจํานวนเต็ม c และ w หรือไม่ เช่น 1 \leq c \leq w < |S| และเป็นไปตามเงื่อนไขต่อไปนี้ ที่นี่ |S| แสดงถึงความยาวของสตริง S โปรดทราบว่า w ต้องน้อยกว่า |S|.

- ถ้า S ถูกแยกที่อักขระ w ทุกตัวตั้งแต่ต้น การต่ออักขระตัวที่ c ของสตริงย่อยที่มีความยาวอย่างน้อย c ตามลําดับเท่ากับ T

อินพุต

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

เอาต์พุต

พิมพ์ ใช่ หากมีคู่ของจํานวนเต็ม c และ w เพื่อให้ 1 \leq c \leq w < |S| และเงื่อนไขเป็นที่พอใจและไม่เป็นอย่างอื่น

ข้อจํากัด

- S และ T เป็นสตริงที่ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็ก
- 1 \leq |T|  \leq  |S| \leq 100

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

atcoder toe

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

Yes

หาก S ถูกแยกทุกๆ สองตัวอักขระ จะมีลักษณะดังนี้:
at
co
de
r

จากนั้น การต่อกันของอักขระที่สองของสตริงย่อยที่ยาวอย่างน้อยสองเท่ากับ toe ซึ่งเท่ากับ T ดังนั้นพิมพ์ Yes

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

beginner r

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

No

w=|S| ไม่อนุญาต และไม่มีคู่ของจำนวนเต็ม 1 \leq c \leq w < |S| ที่ทำให้เงื่อนไขเป็นจริง ดังนั้นพิมพ์ No

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

verticalreading agh

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

No


มีลูกบอลสีขาว N-1 ลูกและลูกบอลสีดำ 1 ลูก ลูกบอล N ลูกนี้เรียงกันเป็นแถว โดยลูกบอลสีดำอยู่ตำแหน่งซ้ายสุดก่อน
ทาคาฮาชิจะทำการดำเนินการต่อไปนี้ K ครั้งพอดี

- เลือกจำนวนเต็มแบบสุ่มอย่างสม่ำเสมอระหว่าง 1 ถึง N รวมทั้งสิ้น 2 ครั้ง ให้ a และ b เป็นจำนวนเต็มที่เลือก หาก a \neq b ให้สลับลูกบอลที่ a และ b จากทางซ้าย

หลังจากดำเนินการ K ครั้ง ให้ลูกบอลสีดำอยู่ที่ตำแหน่งที่ x จากทางซ้าย หาค่าคาดหวังของ x โมดูโล 998244353

ค่าคาดหวังโมดูโล 998244353 คืออะไร

สามารถพิสูจน์ได้ว่าค่าคาดหวังที่ต้องการจะเป็นจำนวนตรรกยะเสมอ นอกจากนี้ ภายใต้ข้อจำกัดของปัญหานี้ สามารถพิสูจน์ได้ว่า หากแสดงค่านี้ในรูปเศษส่วนที่ลดรูปไม่ได้ \frac{P}{Q} แล้ว Q \not \equiv 0 \pmod{998244353} ดังนั้น จะมีจำนวนเต็ม R ที่ไม่ซ้ำกันอยู่ โดยที่ R \times Q \equiv P \pmod{998244353}, 0 \leq R < 998244353 รายงาน R นี้

อินพุต

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

เอาต์พุต

พิมพ์คำตอบในหนึ่งบรรทัด
ข้อจำกัด

- 1 \leq N \leq 998244352
- 1 \leq K \leq 10^5

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

2 1

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

499122178

หลังจากดำเนินการครั้งหนึ่ง ความน่าจะเป็นที่ลูกบอลสีดำจะอยู่ที่ตำแหน่งที่ 1 และตำแหน่งที่ 2 จากซ้ายคือ \displaystyle \frac{1}{2} ทั้งคู่ ดังนั้น ค่าที่คาดหวังคือ \displaystyle \frac{3}{2}

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

3 2

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

554580198

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

4 4

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

592707587

มีลูกบอลสีขาว N-1 ลูกและลูกบอลสีดำ 1 ลูก ลูกบอล N ลูกนี้เรียงกันเป็นแถว โดยลูกบอลสีดำอยู่ตำแหน่งซ้ายสุดก่อน
ทาคาฮาชิจะทำการคำนวณต่อไปนี้ K ครั้งพอดี

- เลือกจำนวนเต็มแบบสุ่มอย่างสม่ำเสมอระหว่าง 1 ถึง N รวมทั้งสิ้น 2 ครั้ง ให้ a และ b เป็นจำนวนเต็มที่เลือก หาก a \neq b ให้สลับลูกบอลที่ a และ b จากทางซ้าย

หลังจากการคำนวณ K ครั้ง ให้ลูกบอลสีดำอยู่ที่ตำแหน่งที่ x จากทางซ้าย หาค่าคาดหวังของ x โมดูโล 998244353

ค่าคาดหวังโมดูโล 998244353 คืออะไร

สามารถพิสูจน์ได้ว่าค่าคาดหวังที่ต้องการจะเป็นจำนวนตรรกยะเสมอ นอกจากนี้ ภายใต้ข้อจำกัดของปัญหานี้ สามารถพิสูจน์ได้ว่า หากแสดงค่านี้ในรูปเศษส่วนที่ลดรูปไม่ได้ \frac{P}{Q} แล้ว Q \not \equiv 0 \pmod{998244353} ดังนั้น จะมีจำนวนเต็ม R ที่ไม่ซ้ำกันอยู่ โดยที่ R \times Q \equiv P \pmod{998244353}, 0 \leq R < 998244353 รายงาน R นี้

อินพุต

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

เอาต์พุต

พิมพ์คำตอบในหนึ่งบรรทัด

ข้อจำกัด

- 1 \leq N \leq 998244352
- 1 \leq K \leq 10^5

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

2 1

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

499122178

หลังจากดำเนินการครั้งหนึ่ง ความน่าจะเป็นที่ลูกบอลสีดำจะอยู่ที่ตำแหน่งที่ 1 และตำแหน่งที่ 2 จากซ้ายคือ \displaystyle \frac{1}{2} ทั้งคู่ ดังนั้น ค่าที่คาดหวังคือ \displaystyle \frac{3}{2}

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

3 2

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

554580198

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

4 4

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

592707587

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

- เลือกจำนวนเต็มอย่างสม่ำเสมอโดยการสุ่มระหว่าง 1 ถึง N รวมสองครั้ง ให้ a และ b จำนวนเต็มที่เลือก ถ้า a \neq b สลับลูกบอล a-th และ b-th จากซ้าย

หลังจากการดำเนินการ K ให้ลูกบอลสีดำอยู่ที่ตำแหน่ง x-th จากซ้าย ค้นหาค่าที่คาดหวังของ x, modulo 998244353.

มูลค่าที่คาดหวังคืออะไร modulo 998244353?

สามารถพิสูจน์ได้ว่ามูลค่าที่คาดหวังจะเป็นจำนวนตรรกยะเสมอ นอกจากนี้ภายใต้ข้อ จำกัด ของปัญหานี้สามารถพิสูจน์ได้ว่าหากค่านี้แสดงเป็นเศษส่วนที่ลดลงได้ \frac{P}{Q}ดังนั้น Q \ not \ equiv 0 \ pmod{998244353} ดังนั้นจึงมีจำนวนเต็มที่ไม่ซ้ำกัน R \times Q \equiv P \pmod{998244353}, 0 \leq R < 998244353. รายงาน R นี้

ป้อนข้อมูล

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

เอาท์พุท

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

ข้อ จำกัด

- 1 \leq N \leq 998244352
- 1 \leq K \leq 10^5

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

2 1

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

499122178

หลังจากการดำเนินการหนึ่งครั้ง ความน่าจะเป็นที่ลูกบอลสีดำอยู่ที่ตำแหน่งที่ 1 และตำแหน่งที่ 2 จากด้านซ้ายคือ \displaystyle \frac{1}{2} ดังนั้นค่าที่คาดหวังคือ \ displaystyle \ frac {3} {2}

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

3 2

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

554580198

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

4 4

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

592707587


ทาคาฮาชิกินอาหารเช้าบนจานสามใบ: ข้าว, ซุปมิโสะ, และสลัด
โต๊ะของเขายาวและแคบ ดังนั้นเขาจัดจานทั้งสามใบเรียงกันเป็นแถว การจัดเรียงแสดงด้วยสตริง S โดยจานที่ i จากซ้ายคือข้าวถ้า S_i เป็น R, ซุปมิโสะถ้า S_i เป็น M และสลัดถ้า S_i เป็น S
ตรวจสอบว่าจานข้าวอยู่ทางซ้ายของจานซุปมิโสะหรือไม่

Input

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

Output

พิมพ์ Yes ถ้าจานข้าวอยู่ทางซ้ายของจานซุปมิโสะ และ No ในกรณีอื่น

ข้อจำกัด

- |S| = 3
- S มี R หนึ่งตัว, M หนึ่งตัว, และ S หนึ่งตัว

ตัวอย่างInput 1

RSM

ตัวอย่างOutput 1

Yes

จานข้าวอยู่ที่ตำแหน่งที่ 1 จากทางซ้าย และจานซุปมิโสะอยู่ที่ตำแหน่งที่ 3 จากทางซ้าย เนื่องจากจานข้าวอยู่ทางซ้าย ให้พิมพ์ Yes

ตัวอย่างInput 2

SMR

ตัวอย่างOutput 2

No

จานเรียงเป็นสลัด ซุปมิโสะ และข้าวจากซ้ายไปขวา

ทาคาฮาชิกินอาหารเช้าสามจาน ได้แก่ ข้าว ซุปมิโซะ และสลัด
โต๊ะของเขายาวและแคบ ดังนั้นเขาจึงจัดจานทั้งสามใบเรียงกันเป็นแถว การจัดเรียงกำหนดโดยสตริง S โดยจานที่ i จากซ้ายมือคือข้าว ถ้า S_i เป็น R เป็นซุปมิโซะ ถ้า S_i เป็น M และเป็นสลัด ถ้า S_i เป็น S
กำหนดว่าจานข้าวอยู่ทางซ้ายของจานซุปมิโซะหรือไม่

อินพุต

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

เอาต์พุต

พิมพ์ ใช่ ถ้าจานข้าวอยู่ทางซ้ายของจานซุปมิโซะ และไม่ถ้าไม่ใช่

ข้อจำกัด

- |S| = 3
- S มี R หนึ่งตัว M หนึ่งตัว และ S หนึ่งตัว

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

RSM

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

Yes

จานข้าวอยู่ที่ตำแหน่งที่ 1 จากซ้าย และจานซุปมิโซะอยู่ที่ตำแหน่งที่ 3 จากซ้าย เนื่องจากจานข้าวอยู่ทางซ้าย ให้พิมพ์ว่า ใช่

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

SMR

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

No

จานจะเรียงเป็นสลัด ซุปมิโซะ และข้าวจากซ้ายไปขวา


มีมด N ตัวบนเส้นจำนวนจริง ถูกระบุเป็น 1 ถึง N มดตัวที่ i (1 \leq i \leq N) เริ่มต้นที่พิกัด X_i และหันหน้าไปทางทิศทางบวกหรือลบ มดทุกตัวอยู่ที่พิกัดที่แตกต่างกันในตอนแรก ทิศทางที่มดแต่ละตัวหันหน้าอยู่แสดงด้วยสตริงไบนารี S ที่มีความยาว N โดยที่มดตัวที่ i หันหน้าไปทางทิศทางลบถ้า S_i เป็น 0 และหันไปทิศทางบวกถ้า S_i เป็น 1
ให้เวลาปัจจุบันเป็น 0 และมดเหล่านี้จะเคลื่อนที่ไปในทิศทางที่กำหนดโดยมีความเร็ว 1 หน่วยต่อหน่วยเวลา เป็นเวลา (T+0.1) หน่วยเวลา จนถึงเวลา (T+0.1) ถ้ามีมดหลายตัวมาถึงพิกัดเดียวกัน พวกมันจะเดินผ่านกันไปโดยไม่เปลี่ยนทิศทางหรือความเร็ว หลังจาก (T+0.1) หน่วยเวลามดทุกตัวจะหยุด
ค้นหาจำนวนคู่ (i, j) ที่ 1 \leq i < j \leq N และมด i และ j ผ่านกันตั้งแต่ตอนนี้ก่อนเวลา (T+0.1)

ข้อมูลนำเข้า

ข้อมูลนำเข้ามาจาก Standard Input ในรูปแบบต่อไปนี้:
N T
S
X_1 X_2 ... X_N

ข้อมูลส่งออก

แสดงคำตอบ

เงื่อนไข

- 2 \leq N \leq 2 \times 10^{5}
- 1 \leq T \leq 10^{9}
- S เป็นสตริงของตัวเลข 0 และ 1 ที่มีความยาว N
- -10^{9} \leq X_i \leq 10^{9} (1 \leq i \leq N)
- X_i \neq X_j (1 \leq i < j \leq N)
- N, T, และ X_i (1 \leq i \leq N) เป็นจำนวนเต็ม

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

6 3
101010
-5 -1 0 1 2 4

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

5

คู่ของมดทั้งห้าผ่านกัน:

- มดตัวที่ 3 และตัวที่ 4 ผ่านกันที่เวลา 0.5
- มดตัวที่ 5 และตัวที่ 6 ผ่านกันที่เวลา 1
- มดตัวที่ 1 และตัวที่ 2 ผ่านกันที่เวลา 2
- มดตัวที่ 3 และตัวที่ 6 ผ่านกันที่เวลา 2
- มดตัวที่ 1 และตัวที่ 4 ผ่านกันที่เวลา 3

ไม่มีคู่มดอื่นที่ผ่านกัน ดังนั้นให้แสดงค่า 5

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

13 656320850
0100110011101
-900549713 -713494784 -713078652 -687818593 -517374932 -498415009 -472742091 -390030458 -379340552 -237481538 -44636942 352721061 695864366

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

14

มีมด N ในบรรทัดตัวเลขที่มีป้ายกำกับ 1 ถึง N. Ant I (1 \ leq i \ leq N) เริ่มต้นที่พิกัด X_i และเผชิญกับทิศทางบวกหรือลบ เริ่มแรกมดทั้งหมดอยู่ที่พิกัดที่แตกต่างกัน ทิศทางที่มดแต่ละตัวหันหน้าไปทางจะแสดงด้วยสตริงไบนารี S ที่มีความยาว N โดยที่มดฉันกำลังหันหน้าไปทางลบถ้า S_i คือ 0 และทิศทางบวกถ้า S_i คือ 1
ปล่อยให้เวลาปัจจุบันเป็น 0 และมดจะเคลื่อนที่ในทิศทางที่เกี่ยวข้องด้วยความเร็ว 1 หน่วยต่อหน่วยเวลาสำหรับ (T+0.1) หน่วยเวลาจนถึงเวลา (T+0.1) หากมดหลายตัวไปถึงพิกัดเดียวกันพวกเขาจะผ่านกันและกันโดยไม่เปลี่ยนทิศทางหรือความเร็ว หลังจาก (T+0.1) หน่วยเวลามดทั้งหมดหยุด
ค้นหาจำนวนคู่ (i, j) ที่ 1 \ leq i <j \ leq N และมดฉันและ j ผ่านกันและกันตั้งแต่นี้ก่อนเวลา (T+0.1)

ป้อนข้อมูล

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

เอาท์พุท

พิมพ์คำตอบ

ข้อ จำกัด

- 2 \leq N \leq 2 \times 10^{5}
- 1 \leq T \leq 10^{9}
- S คือสตริงที่มีความยาว n ประกอบด้วย 0 และ 1
- -10^{9} \leq X_i \leq 10^{9} (1 \leq i \leq N)
- X_i \neq X_j (1 \leq i < j \leq N)
- N, T, and X_i (1 \leq i \leq N) เป็นจำนวนเต็ม

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

6 3
101010
-5 -1 0 1 2 4

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

5

มดห้าคู่ต่อไปนี้ผ่านกันและกัน:

- มด 3 และมด 4 ผ่านกันและกันในเวลา 0.5
- มด 5 และมด 6 ผ่านกันและกันในเวลา 1
- มด 1 และมด 2 ผ่านกันและกันในเวลา 2
- มด 3 และมด 6 ผ่านกันและกันในเวลา 2
- มด 1 และมด 4 ผ่านกันในเวลา 3

ไม่มีมดคู่อื่นผ่านกันและกันดังนั้นพิมพ์ 5

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

13 656320850
0100110011101
-900549713 -713494784 -713078652 -687818593 -517374932 -498415009 -472742091 -390030458 -379340552 -237481538 -44636942 352721061 695864366

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

14

มีมด N ตัวอยู่บนเส้นจำนวนซึ่งกำหนดหมายเลขตั้งแต่ 1 ถึง N มด i (1 \leq i \leq N) เริ่มต้นที่พิกัด X_i และหันไปทางทิศบวกหรือทิศลบ ในตอนแรก มดทั้งหมดอยู่ในพิกัดที่แตกต่างกัน ทิศทางที่มดแต่ละตัวหันหน้าไปจะแสดงด้วยสตริงไบนารี S ที่มีความยาว N โดยที่มด i หันไปทางทิศลบถ้า S_i เป็น 0 และหันไปทางทิศบวกถ้า S_i เป็น 1
ให้เวลาปัจจุบันเป็น 0 และมดเคลื่อนที่ไปในทิศทางที่เกี่ยวข้องด้วยความเร็ว 1 หน่วยต่อหน่วยเวลาเป็นเวลา (T+0.1) หน่วยเวลาจนถึงเวลา (T+0.1) หากมดหลายตัวไปถึงพิกัดเดียวกัน พวกมันจะผ่านกันโดยไม่เปลี่ยนทิศทางหรือความเร็ว หลังจากเวลา (T+0.1) หน่วยเวลา มดทั้งหมดจะหยุด
หาจำนวนคู่ (i, j) ที่ 1 \leq i < j \leq N และมด i และ j ผ่านกันจากนี้ก่อนเวลา (T+0.1)

อินพุต

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

เอาต์พุต

พิมพ์คำตอบ

ข้อจำกัด

- 2 \leq N \leq 2 \times 10^{5}
- 1 \leq T \leq 10^{9}
- S เป็นสตริงที่มีความยาว N ประกอบด้วย 0 และ 1
- -10^{9} \leq X_i \leq 10^{9} (1 \leq i \leq N)
- X_i \neq X_j (1 \leq i < j \leq N)
- N, T และ X_i (1 \leq i \leq N) เป็นจำนวนเต็ม
ตัวอย่างอินพุต 1

6 3
101010
-5 -1 0 1 2 4

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

5

มด 5 คู่ต่อไปนี้ผ่านกัน:

- มด 3 และมด 4 ผ่านกันในเวลา 0.5 - มด 5 และมด 6 ผ่านกันในเวลา 1
- มด 1 และมด 2 ผ่านกันในเวลา 2
- มด 3 และมด 6 ผ่านกันในเวลา 2
- มด 1 และมด 4 ผ่านกันในเวลา 3

ไม่มีมดคู่อื่นผ่านกัน ดังนั้นให้พิมพ์ 5

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

13 656320850
0100110011101
-900549713 -713494784 -713078652 -687818593 -517374932 -498415009 -472742091 -390030458 -379340552 -237481538 -44636942 352721061 695864366

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

14