From dceddc345251ca34be762aa4114a6007c7555361 Mon Sep 17 00:00:00 2001 From: yanglbme Date: Wed, 16 Oct 2024 09:54:14 +0800 Subject: [PATCH 1/3] feat: update lc problems --- .../README.md | 2 + .../README_EN.md | 2 + .../README.md | 2 + .../README_EN.md | 2 + .../README.md | 2 + .../README_EN.md | 2 + .../README.md | 2 + .../README_EN.md | 2 + .../README.md | 2 + .../README_EN.md | 2 + .../README.md | 2 + .../README_EN.md | 2 + .../README.md | 2 + .../README_EN.md | 2 + .../README.md | 2 + .../README_EN.md | 2 + .../README.md | 2 + .../README_EN.md | 2 + .../README.md | 2 + .../README_EN.md | 2 + .../README.md | 2 + .../README_EN.md | 2 + .../3312.Sorted GCD Pair Queries/README.md | 2 + .../3312.Sorted GCD Pair Queries/README_EN.md | 2 + .../README.md | 3 + .../README_EN.md | 3 + .../README.md | 3 + .../README_EN.md | 3 + .../README.md | 6 + .../README_EN.md | 6 + .../README.md | 4 + .../README_EN.md | 4 + .../README.md | 5 + .../README_EN.md | 5 + .../README.md | 17 +- .../README_EN.md | 17 +- .../README.md | 3 + .../README_EN.md | 5 +- .../README.md | 5 + .../README_EN.md | 5 + .../README_EN.md | 28 +- .../README.md | 243 ++++++++++++++++++ .../README_EN.md | 241 +++++++++++++++++ .../Solution.cpp | 22 ++ .../Solution.go | 18 ++ .../Solution.java | 38 +++ .../Solution.py | 14 + .../Solution.ts | 30 +++ solution/DATABASE_README.md | 2 +- solution/DATABASE_README_EN.md | 2 +- solution/README.md | 19 +- solution/README_EN.md | 19 +- 52 files changed, 771 insertions(+), 47 deletions(-) create mode 100644 solution/3300-3399/3323.Minimize Connected Groups by Inserting Interval/README.md create mode 100644 solution/3300-3399/3323.Minimize Connected Groups by Inserting Interval/README_EN.md create mode 100644 solution/3300-3399/3323.Minimize Connected Groups by Inserting Interval/Solution.cpp create mode 100644 solution/3300-3399/3323.Minimize Connected Groups by Inserting Interval/Solution.go create mode 100644 solution/3300-3399/3323.Minimize Connected Groups by Inserting Interval/Solution.java create mode 100644 solution/3300-3399/3323.Minimize Connected Groups by Inserting Interval/Solution.py create mode 100644 solution/3300-3399/3323.Minimize Connected Groups by Inserting Interval/Solution.ts diff --git a/solution/3300-3399/3300.Minimum Element After Replacement With Digit Sum/README.md b/solution/3300-3399/3300.Minimum Element After Replacement With Digit Sum/README.md index 08b71be95dc0a..356a653a644e2 100644 --- a/solution/3300-3399/3300.Minimum Element After Replacement With Digit Sum/README.md +++ b/solution/3300-3399/3300.Minimum Element After Replacement With Digit Sum/README.md @@ -2,6 +2,8 @@ comments: true difficulty: 简单 edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3300.Minimum%20Element%20After%20Replacement%20With%20Digit%20Sum/README.md +rating: 1181 +source: 第 140 场双周赛 Q1 tags: - 数组 - 数学 diff --git a/solution/3300-3399/3300.Minimum Element After Replacement With Digit Sum/README_EN.md b/solution/3300-3399/3300.Minimum Element After Replacement With Digit Sum/README_EN.md index 1648c530afb36..6b730deca9d6c 100644 --- a/solution/3300-3399/3300.Minimum Element After Replacement With Digit Sum/README_EN.md +++ b/solution/3300-3399/3300.Minimum Element After Replacement With Digit Sum/README_EN.md @@ -2,6 +2,8 @@ comments: true difficulty: Easy edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3300.Minimum%20Element%20After%20Replacement%20With%20Digit%20Sum/README_EN.md +rating: 1181 +source: Biweekly Contest 140 Q1 tags: - Array - Math diff --git a/solution/3300-3399/3301.Maximize the Total Height of Unique Towers/README.md b/solution/3300-3399/3301.Maximize the Total Height of Unique Towers/README.md index e9eefa1b8ccf2..9432d2b08cdfd 100644 --- a/solution/3300-3399/3301.Maximize the Total Height of Unique Towers/README.md +++ b/solution/3300-3399/3301.Maximize the Total Height of Unique Towers/README.md @@ -2,6 +2,8 @@ comments: true difficulty: 中等 edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3301.Maximize%20the%20Total%20Height%20of%20Unique%20Towers/README.md +rating: 1448 +source: 第 140 场双周赛 Q2 tags: - 贪心 - 数组 diff --git a/solution/3300-3399/3301.Maximize the Total Height of Unique Towers/README_EN.md b/solution/3300-3399/3301.Maximize the Total Height of Unique Towers/README_EN.md index 3d16aff13c249..b516234fb2862 100644 --- a/solution/3300-3399/3301.Maximize the Total Height of Unique Towers/README_EN.md +++ b/solution/3300-3399/3301.Maximize the Total Height of Unique Towers/README_EN.md @@ -2,6 +2,8 @@ comments: true difficulty: Medium edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3301.Maximize%20the%20Total%20Height%20of%20Unique%20Towers/README_EN.md +rating: 1448 +source: Biweekly Contest 140 Q2 tags: - Greedy - Array diff --git a/solution/3300-3399/3302.Find the Lexicographically Smallest Valid Sequence/README.md b/solution/3300-3399/3302.Find the Lexicographically Smallest Valid Sequence/README.md index f7a252badfdb1..dc6aca161b065 100644 --- a/solution/3300-3399/3302.Find the Lexicographically Smallest Valid Sequence/README.md +++ b/solution/3300-3399/3302.Find the Lexicographically Smallest Valid Sequence/README.md @@ -2,6 +2,8 @@ comments: true difficulty: 中等 edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3302.Find%20the%20Lexicographically%20Smallest%20Valid%20Sequence/README.md +rating: 2473 +source: 第 140 场双周赛 Q3 tags: - 贪心 - 双指针 diff --git a/solution/3300-3399/3302.Find the Lexicographically Smallest Valid Sequence/README_EN.md b/solution/3300-3399/3302.Find the Lexicographically Smallest Valid Sequence/README_EN.md index 67678d2d9c8a6..066dfffe10e12 100644 --- a/solution/3300-3399/3302.Find the Lexicographically Smallest Valid Sequence/README_EN.md +++ b/solution/3300-3399/3302.Find the Lexicographically Smallest Valid Sequence/README_EN.md @@ -2,6 +2,8 @@ comments: true difficulty: Medium edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3302.Find%20the%20Lexicographically%20Smallest%20Valid%20Sequence/README_EN.md +rating: 2473 +source: Biweekly Contest 140 Q3 tags: - Greedy - Two Pointers diff --git a/solution/3300-3399/3303.Find the Occurrence of First Almost Equal Substring/README.md b/solution/3300-3399/3303.Find the Occurrence of First Almost Equal Substring/README.md index 65a8e2ca1843f..7a8854d6017df 100644 --- a/solution/3300-3399/3303.Find the Occurrence of First Almost Equal Substring/README.md +++ b/solution/3300-3399/3303.Find the Occurrence of First Almost Equal Substring/README.md @@ -2,6 +2,8 @@ comments: true difficulty: 困难 edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3303.Find%20the%20Occurrence%20of%20First%20Almost%20Equal%20Substring/README.md +rating: 2509 +source: 第 140 场双周赛 Q4 tags: - 字符串 - 字符串匹配 diff --git a/solution/3300-3399/3303.Find the Occurrence of First Almost Equal Substring/README_EN.md b/solution/3300-3399/3303.Find the Occurrence of First Almost Equal Substring/README_EN.md index f71839f655b38..f53c65671e1dd 100644 --- a/solution/3300-3399/3303.Find the Occurrence of First Almost Equal Substring/README_EN.md +++ b/solution/3300-3399/3303.Find the Occurrence of First Almost Equal Substring/README_EN.md @@ -2,6 +2,8 @@ comments: true difficulty: Hard edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3303.Find%20the%20Occurrence%20of%20First%20Almost%20Equal%20Substring/README_EN.md +rating: 2509 +source: Biweekly Contest 140 Q4 tags: - String - String Matching diff --git a/solution/3300-3399/3304.Find the K-th Character in String Game I/README.md b/solution/3300-3399/3304.Find the K-th Character in String Game I/README.md index a50f1951d0652..1fd83b1df8404 100644 --- a/solution/3300-3399/3304.Find the K-th Character in String Game I/README.md +++ b/solution/3300-3399/3304.Find the K-th Character in String Game I/README.md @@ -2,6 +2,8 @@ comments: true difficulty: 简单 edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3304.Find%20the%20K-th%20Character%20in%20String%20Game%20I/README.md +rating: 1288 +source: 第 417 场周赛 Q1 tags: - 位运算 - 递归 diff --git a/solution/3300-3399/3304.Find the K-th Character in String Game I/README_EN.md b/solution/3300-3399/3304.Find the K-th Character in String Game I/README_EN.md index 06856a43134a3..939cfd227d1d8 100644 --- a/solution/3300-3399/3304.Find the K-th Character in String Game I/README_EN.md +++ b/solution/3300-3399/3304.Find the K-th Character in String Game I/README_EN.md @@ -2,6 +2,8 @@ comments: true difficulty: Easy edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3304.Find%20the%20K-th%20Character%20in%20String%20Game%20I/README_EN.md +rating: 1288 +source: Weekly Contest 417 Q1 tags: - Bit Manipulation - Recursion diff --git a/solution/3300-3399/3305.Count of Substrings Containing Every Vowel and K Consonants I/README.md b/solution/3300-3399/3305.Count of Substrings Containing Every Vowel and K Consonants I/README.md index 91a70fbc09f85..7c83260a49fac 100644 --- a/solution/3300-3399/3305.Count of Substrings Containing Every Vowel and K Consonants I/README.md +++ b/solution/3300-3399/3305.Count of Substrings Containing Every Vowel and K Consonants I/README.md @@ -2,6 +2,8 @@ comments: true difficulty: 中等 edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3305.Count%20of%20Substrings%20Containing%20Every%20Vowel%20and%20K%20Consonants%20I/README.md +rating: 1563 +source: 第 417 场周赛 Q2 tags: - 哈希表 - 字符串 diff --git a/solution/3300-3399/3305.Count of Substrings Containing Every Vowel and K Consonants I/README_EN.md b/solution/3300-3399/3305.Count of Substrings Containing Every Vowel and K Consonants I/README_EN.md index f0f4c0a13d96a..598811e3ce166 100644 --- a/solution/3300-3399/3305.Count of Substrings Containing Every Vowel and K Consonants I/README_EN.md +++ b/solution/3300-3399/3305.Count of Substrings Containing Every Vowel and K Consonants I/README_EN.md @@ -2,6 +2,8 @@ comments: true difficulty: Medium edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3305.Count%20of%20Substrings%20Containing%20Every%20Vowel%20and%20K%20Consonants%20I/README_EN.md +rating: 1563 +source: Weekly Contest 417 Q2 tags: - Hash Table - String diff --git a/solution/3300-3399/3306.Count of Substrings Containing Every Vowel and K Consonants II/README.md b/solution/3300-3399/3306.Count of Substrings Containing Every Vowel and K Consonants II/README.md index 757f4c6b74ef9..b3ac427988c86 100644 --- a/solution/3300-3399/3306.Count of Substrings Containing Every Vowel and K Consonants II/README.md +++ b/solution/3300-3399/3306.Count of Substrings Containing Every Vowel and K Consonants II/README.md @@ -2,6 +2,8 @@ comments: true difficulty: 中等 edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3306.Count%20of%20Substrings%20Containing%20Every%20Vowel%20and%20K%20Consonants%20II/README.md +rating: 2200 +source: 第 417 场周赛 Q3 tags: - 哈希表 - 字符串 diff --git a/solution/3300-3399/3306.Count of Substrings Containing Every Vowel and K Consonants II/README_EN.md b/solution/3300-3399/3306.Count of Substrings Containing Every Vowel and K Consonants II/README_EN.md index 03075272f022d..7eebace7f697f 100644 --- a/solution/3300-3399/3306.Count of Substrings Containing Every Vowel and K Consonants II/README_EN.md +++ b/solution/3300-3399/3306.Count of Substrings Containing Every Vowel and K Consonants II/README_EN.md @@ -2,6 +2,8 @@ comments: true difficulty: Medium edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3306.Count%20of%20Substrings%20Containing%20Every%20Vowel%20and%20K%20Consonants%20II/README_EN.md +rating: 2200 +source: Weekly Contest 417 Q3 tags: - Hash Table - String diff --git a/solution/3300-3399/3307.Find the K-th Character in String Game II/README.md b/solution/3300-3399/3307.Find the K-th Character in String Game II/README.md index 13a95c0ded9a8..52d5b2cd7006f 100644 --- a/solution/3300-3399/3307.Find the K-th Character in String Game II/README.md +++ b/solution/3300-3399/3307.Find the K-th Character in String Game II/README.md @@ -2,6 +2,8 @@ comments: true difficulty: 困难 edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3307.Find%20the%20K-th%20Character%20in%20String%20Game%20II/README.md +rating: 2232 +source: 第 417 场周赛 Q4 tags: - 位运算 - 递归 diff --git a/solution/3300-3399/3307.Find the K-th Character in String Game II/README_EN.md b/solution/3300-3399/3307.Find the K-th Character in String Game II/README_EN.md index 8635d053b989e..cc462b29287a5 100644 --- a/solution/3300-3399/3307.Find the K-th Character in String Game II/README_EN.md +++ b/solution/3300-3399/3307.Find the K-th Character in String Game II/README_EN.md @@ -2,6 +2,8 @@ comments: true difficulty: Hard edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3307.Find%20the%20K-th%20Character%20in%20String%20Game%20II/README_EN.md +rating: 2232 +source: Weekly Contest 417 Q4 tags: - Bit Manipulation - Recursion diff --git a/solution/3300-3399/3309.Maximum Possible Number by Binary Concatenation/README.md b/solution/3300-3399/3309.Maximum Possible Number by Binary Concatenation/README.md index 9095d32d79051..2a97b3797bb09 100644 --- a/solution/3300-3399/3309.Maximum Possible Number by Binary Concatenation/README.md +++ b/solution/3300-3399/3309.Maximum Possible Number by Binary Concatenation/README.md @@ -2,6 +2,8 @@ comments: true difficulty: 中等 edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3309.Maximum%20Possible%20Number%20by%20Binary%20Concatenation/README.md +rating: 1363 +source: 第 418 场周赛 Q1 tags: - 位运算 - 数组 diff --git a/solution/3300-3399/3309.Maximum Possible Number by Binary Concatenation/README_EN.md b/solution/3300-3399/3309.Maximum Possible Number by Binary Concatenation/README_EN.md index 13d7040540966..af5556ef6cbc7 100644 --- a/solution/3300-3399/3309.Maximum Possible Number by Binary Concatenation/README_EN.md +++ b/solution/3300-3399/3309.Maximum Possible Number by Binary Concatenation/README_EN.md @@ -2,6 +2,8 @@ comments: true difficulty: Medium edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3309.Maximum%20Possible%20Number%20by%20Binary%20Concatenation/README_EN.md +rating: 1363 +source: Weekly Contest 418 Q1 tags: - Bit Manipulation - Array diff --git a/solution/3300-3399/3310.Remove Methods From Project/README.md b/solution/3300-3399/3310.Remove Methods From Project/README.md index e811825821432..7146246f7919c 100644 --- a/solution/3300-3399/3310.Remove Methods From Project/README.md +++ b/solution/3300-3399/3310.Remove Methods From Project/README.md @@ -2,6 +2,8 @@ comments: true difficulty: 中等 edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3310.Remove%20Methods%20From%20Project/README.md +rating: 1710 +source: 第 418 场周赛 Q2 tags: - 深度优先搜索 - 广度优先搜索 diff --git a/solution/3300-3399/3310.Remove Methods From Project/README_EN.md b/solution/3300-3399/3310.Remove Methods From Project/README_EN.md index b7f0307a4c677..5990a503ec0d3 100644 --- a/solution/3300-3399/3310.Remove Methods From Project/README_EN.md +++ b/solution/3300-3399/3310.Remove Methods From Project/README_EN.md @@ -2,6 +2,8 @@ comments: true difficulty: Medium edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3310.Remove%20Methods%20From%20Project/README_EN.md +rating: 1710 +source: Weekly Contest 418 Q2 tags: - Depth-First Search - Breadth-First Search diff --git a/solution/3300-3399/3311.Construct 2D Grid Matching Graph Layout/README.md b/solution/3300-3399/3311.Construct 2D Grid Matching Graph Layout/README.md index 72b6215ee8568..c6c61c8b3da6e 100644 --- a/solution/3300-3399/3311.Construct 2D Grid Matching Graph Layout/README.md +++ b/solution/3300-3399/3311.Construct 2D Grid Matching Graph Layout/README.md @@ -2,6 +2,8 @@ comments: true difficulty: 困难 edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3311.Construct%202D%20Grid%20Matching%20Graph%20Layout/README.md +rating: 2664 +source: 第 418 场周赛 Q3 tags: - 图 - 数组 diff --git a/solution/3300-3399/3311.Construct 2D Grid Matching Graph Layout/README_EN.md b/solution/3300-3399/3311.Construct 2D Grid Matching Graph Layout/README_EN.md index 761a653e8bd97..08a84d1a5e873 100644 --- a/solution/3300-3399/3311.Construct 2D Grid Matching Graph Layout/README_EN.md +++ b/solution/3300-3399/3311.Construct 2D Grid Matching Graph Layout/README_EN.md @@ -2,6 +2,8 @@ comments: true difficulty: Hard edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3311.Construct%202D%20Grid%20Matching%20Graph%20Layout/README_EN.md +rating: 2664 +source: Weekly Contest 418 Q3 tags: - Graph - Array diff --git a/solution/3300-3399/3312.Sorted GCD Pair Queries/README.md b/solution/3300-3399/3312.Sorted GCD Pair Queries/README.md index 9c5afe8ece063..7220f5c2c4e71 100644 --- a/solution/3300-3399/3312.Sorted GCD Pair Queries/README.md +++ b/solution/3300-3399/3312.Sorted GCD Pair Queries/README.md @@ -2,6 +2,8 @@ comments: true difficulty: 困难 edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3312.Sorted%20GCD%20Pair%20Queries/README.md +rating: 2532 +source: 第 418 场周赛 Q4 tags: - 数组 - 哈希表 diff --git a/solution/3300-3399/3312.Sorted GCD Pair Queries/README_EN.md b/solution/3300-3399/3312.Sorted GCD Pair Queries/README_EN.md index 2f780e208ad83..7fe6cb1fac594 100644 --- a/solution/3300-3399/3312.Sorted GCD Pair Queries/README_EN.md +++ b/solution/3300-3399/3312.Sorted GCD Pair Queries/README_EN.md @@ -2,6 +2,8 @@ comments: true difficulty: Hard edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3312.Sorted%20GCD%20Pair%20Queries/README_EN.md +rating: 2532 +source: Weekly Contest 418 Q4 tags: - Array - Hash Table diff --git a/solution/3300-3399/3314.Construct the Minimum Bitwise Array I/README.md b/solution/3300-3399/3314.Construct the Minimum Bitwise Array I/README.md index 6b5475e0b1d20..fea3aaaafc814 100644 --- a/solution/3300-3399/3314.Construct the Minimum Bitwise Array I/README.md +++ b/solution/3300-3399/3314.Construct the Minimum Bitwise Array I/README.md @@ -2,6 +2,9 @@ comments: true difficulty: 简单 edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3314.Construct%20the%20Minimum%20Bitwise%20Array%20I/README.md +tags: + - 位运算 + - 数组 --- diff --git a/solution/3300-3399/3314.Construct the Minimum Bitwise Array I/README_EN.md b/solution/3300-3399/3314.Construct the Minimum Bitwise Array I/README_EN.md index aeb5b42af38ba..c133b365167c9 100644 --- a/solution/3300-3399/3314.Construct the Minimum Bitwise Array I/README_EN.md +++ b/solution/3300-3399/3314.Construct the Minimum Bitwise Array I/README_EN.md @@ -2,6 +2,9 @@ comments: true difficulty: Easy edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3314.Construct%20the%20Minimum%20Bitwise%20Array%20I/README_EN.md +tags: + - Bit Manipulation + - Array --- diff --git a/solution/3300-3399/3315.Construct the Minimum Bitwise Array II/README.md b/solution/3300-3399/3315.Construct the Minimum Bitwise Array II/README.md index c4cdffe40a742..1fffa7ba785e1 100644 --- a/solution/3300-3399/3315.Construct the Minimum Bitwise Array II/README.md +++ b/solution/3300-3399/3315.Construct the Minimum Bitwise Array II/README.md @@ -2,6 +2,9 @@ comments: true difficulty: 中等 edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3315.Construct%20the%20Minimum%20Bitwise%20Array%20II/README.md +tags: + - 位运算 + - 数组 --- diff --git a/solution/3300-3399/3315.Construct the Minimum Bitwise Array II/README_EN.md b/solution/3300-3399/3315.Construct the Minimum Bitwise Array II/README_EN.md index f9ae16599b691..da4aa0cd7cce0 100644 --- a/solution/3300-3399/3315.Construct the Minimum Bitwise Array II/README_EN.md +++ b/solution/3300-3399/3315.Construct the Minimum Bitwise Array II/README_EN.md @@ -2,6 +2,9 @@ comments: true difficulty: Medium edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3315.Construct%20the%20Minimum%20Bitwise%20Array%20II/README_EN.md +tags: + - Bit Manipulation + - Array --- diff --git a/solution/3300-3399/3316.Find Maximum Removals From Source String/README.md b/solution/3300-3399/3316.Find Maximum Removals From Source String/README.md index 522a5c9ad1b83..5e02847924663 100644 --- a/solution/3300-3399/3316.Find Maximum Removals From Source String/README.md +++ b/solution/3300-3399/3316.Find Maximum Removals From Source String/README.md @@ -2,6 +2,12 @@ comments: true difficulty: 中等 edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3316.Find%20Maximum%20Removals%20From%20Source%20String/README.md +tags: + - 数组 + - 哈希表 + - 双指针 + - 字符串 + - 动态规划 --- diff --git a/solution/3300-3399/3316.Find Maximum Removals From Source String/README_EN.md b/solution/3300-3399/3316.Find Maximum Removals From Source String/README_EN.md index 766fa13dabc9f..243eb8f5a759b 100644 --- a/solution/3300-3399/3316.Find Maximum Removals From Source String/README_EN.md +++ b/solution/3300-3399/3316.Find Maximum Removals From Source String/README_EN.md @@ -2,6 +2,12 @@ comments: true difficulty: Medium edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3316.Find%20Maximum%20Removals%20From%20Source%20String/README_EN.md +tags: + - Array + - Hash Table + - Two Pointers + - String + - Dynamic Programming --- diff --git a/solution/3300-3399/3317.Find the Number of Possible Ways for an Event/README.md b/solution/3300-3399/3317.Find the Number of Possible Ways for an Event/README.md index 389826005dcf0..4e4dbed8681eb 100644 --- a/solution/3300-3399/3317.Find the Number of Possible Ways for an Event/README.md +++ b/solution/3300-3399/3317.Find the Number of Possible Ways for an Event/README.md @@ -2,6 +2,10 @@ comments: true difficulty: 困难 edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3317.Find%20the%20Number%20of%20Possible%20Ways%20for%20an%20Event/README.md +tags: + - 数学 + - 动态规划 + - 组合数学 --- diff --git a/solution/3300-3399/3317.Find the Number of Possible Ways for an Event/README_EN.md b/solution/3300-3399/3317.Find the Number of Possible Ways for an Event/README_EN.md index 1616c8a6e59bc..9b2ce3b1998ff 100644 --- a/solution/3300-3399/3317.Find the Number of Possible Ways for an Event/README_EN.md +++ b/solution/3300-3399/3317.Find the Number of Possible Ways for an Event/README_EN.md @@ -2,6 +2,10 @@ comments: true difficulty: Hard edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3317.Find%20the%20Number%20of%20Possible%20Ways%20for%20an%20Event/README_EN.md +tags: + - Math + - Dynamic Programming + - Combinatorics --- diff --git a/solution/3300-3399/3318.Find X-Sum of All K-Long Subarrays I/README.md b/solution/3300-3399/3318.Find X-Sum of All K-Long Subarrays I/README.md index 2ca2e860a26df..0bd6560e29e19 100644 --- a/solution/3300-3399/3318.Find X-Sum of All K-Long Subarrays I/README.md +++ b/solution/3300-3399/3318.Find X-Sum of All K-Long Subarrays I/README.md @@ -2,6 +2,11 @@ comments: true difficulty: 简单 edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3318.Find%20X-Sum%20of%20All%20K-Long%20Subarrays%20I/README.md +tags: + - 数组 + - 哈希表 + - 滑动窗口 + - 堆(优先队列) --- diff --git a/solution/3300-3399/3318.Find X-Sum of All K-Long Subarrays I/README_EN.md b/solution/3300-3399/3318.Find X-Sum of All K-Long Subarrays I/README_EN.md index 62143c5d02775..e6363631c8679 100644 --- a/solution/3300-3399/3318.Find X-Sum of All K-Long Subarrays I/README_EN.md +++ b/solution/3300-3399/3318.Find X-Sum of All K-Long Subarrays I/README_EN.md @@ -2,6 +2,11 @@ comments: true difficulty: Easy edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3318.Find%20X-Sum%20of%20All%20K-Long%20Subarrays%20I/README_EN.md +tags: + - Array + - Hash Table + - Sliding Window + - Heap (Priority Queue) --- diff --git a/solution/3300-3399/3319.K-th Largest Perfect Subtree Size in Binary Tree/README.md b/solution/3300-3399/3319.K-th Largest Perfect Subtree Size in Binary Tree/README.md index 9334a995525d3..c576073612048 100644 --- a/solution/3300-3399/3319.K-th Largest Perfect Subtree Size in Binary Tree/README.md +++ b/solution/3300-3399/3319.K-th Largest Perfect Subtree Size in Binary Tree/README.md @@ -2,6 +2,11 @@ comments: true difficulty: 中等 edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3319.K-th%20Largest%20Perfect%20Subtree%20Size%20in%20Binary%20Tree/README.md +tags: + - 树 + - 深度优先搜索 + - 二叉树 + - 排序 --- @@ -33,9 +38,9 @@ edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3319.K-

解释:

-

+

-

完美二叉子树的根节点在图中以黑色突出显示。它们的大小按降序排列为 [3, 3, 1, 1, 1, 1, 1, 1]
+

完美二叉子树的根节点在图中以黑色突出显示。它们的大小按非递增顺序排列为 [3, 3, 1, 1, 1, 1, 1, 1]
2 大的完美二叉子树的大小是 3。

@@ -48,9 +53,9 @@ edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3319.K-

解释:

-

+

-

完美二叉子树的大小按降序排列为 [7, 3, 3, 1, 1, 1, 1]。最大的完美二叉子树的大小是 7。

+

完美二叉子树的大小按非递增顺序排列为 [7, 3, 3, 1, 1, 1, 1]。最大的完美二叉子树的大小是 7。

示例 3:

@@ -62,9 +67,9 @@ edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3319.K-

解释:

-

+

-

完美二叉子树的大小按降序排列为 [1, 1]。完美二叉子树的数量少于 3。

+

完美二叉子树的大小按非递增顺序排列为 [1, 1]。完美二叉子树的数量少于 3。

 

diff --git a/solution/3300-3399/3319.K-th Largest Perfect Subtree Size in Binary Tree/README_EN.md b/solution/3300-3399/3319.K-th Largest Perfect Subtree Size in Binary Tree/README_EN.md index b30257addfb7d..1c4353ef2d369 100644 --- a/solution/3300-3399/3319.K-th Largest Perfect Subtree Size in Binary Tree/README_EN.md +++ b/solution/3300-3399/3319.K-th Largest Perfect Subtree Size in Binary Tree/README_EN.md @@ -2,6 +2,11 @@ comments: true difficulty: Medium edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3319.K-th%20Largest%20Perfect%20Subtree%20Size%20in%20Binary%20Tree/README_EN.md +tags: + - Tree + - Depth-First Search + - Binary Tree + - Sorting --- @@ -30,9 +35,9 @@ edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3319.K-

Explanation:

-

+

-

The roots of the perfect binary subtrees are highlighted in black. Their sizes, in decreasing order are [3, 3, 1, 1, 1, 1, 1, 1].
+

The roots of the perfect binary subtrees are highlighted in black. Their sizes, in non-increasing order are [3, 3, 1, 1, 1, 1, 1, 1].
The 2nd largest size is 3.

@@ -45,9 +50,9 @@ The 2nd largest size is 3.

Explanation:

-

+

-

The sizes of the perfect binary subtrees in decreasing order are [7, 3, 3, 1, 1, 1, 1]. The size of the largest perfect binary subtree is 7.

+

The sizes of the perfect binary subtrees in non-increasing order are [7, 3, 3, 1, 1, 1, 1]. The size of the largest perfect binary subtree is 7.

Example 3:

@@ -59,9 +64,9 @@ The 2nd largest size is 3.

Explanation:

-

+

-

The sizes of the perfect binary subtrees in decreasing order are [1, 1]. There are fewer than 3 perfect binary subtrees.

+

The sizes of the perfect binary subtrees in non-increasing order are [1, 1]. There are fewer than 3 perfect binary subtrees.

 

diff --git a/solution/3300-3399/3320.Count The Number of Winning Sequences/README.md b/solution/3300-3399/3320.Count The Number of Winning Sequences/README.md index 93c61e0a55700..5fb78f3564b47 100644 --- a/solution/3300-3399/3320.Count The Number of Winning Sequences/README.md +++ b/solution/3300-3399/3320.Count The Number of Winning Sequences/README.md @@ -2,6 +2,9 @@ comments: true difficulty: 困难 edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3320.Count%20The%20Number%20of%20Winning%20Sequences/README.md +tags: + - 字符串 + - 动态规划 --- diff --git a/solution/3300-3399/3320.Count The Number of Winning Sequences/README_EN.md b/solution/3300-3399/3320.Count The Number of Winning Sequences/README_EN.md index a8aeb66e0cebb..1972b87a463ca 100644 --- a/solution/3300-3399/3320.Count The Number of Winning Sequences/README_EN.md +++ b/solution/3300-3399/3320.Count The Number of Winning Sequences/README_EN.md @@ -2,6 +2,9 @@ comments: true difficulty: Hard edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3320.Count%20The%20Number%20of%20Winning%20Sequences/README_EN.md +tags: + - String + - Dynamic Programming --- @@ -67,7 +70,7 @@ edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3320.Co diff --git a/solution/3300-3399/3321.Find X-Sum of All K-Long Subarrays II/README.md b/solution/3300-3399/3321.Find X-Sum of All K-Long Subarrays II/README.md index 1679e35c67535..817f046cdbd9d 100644 --- a/solution/3300-3399/3321.Find X-Sum of All K-Long Subarrays II/README.md +++ b/solution/3300-3399/3321.Find X-Sum of All K-Long Subarrays II/README.md @@ -2,6 +2,11 @@ comments: true difficulty: 困难 edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3321.Find%20X-Sum%20of%20All%20K-Long%20Subarrays%20II/README.md +tags: + - 数组 + - 哈希表 + - 滑动窗口 + - 堆(优先队列) --- diff --git a/solution/3300-3399/3321.Find X-Sum of All K-Long Subarrays II/README_EN.md b/solution/3300-3399/3321.Find X-Sum of All K-Long Subarrays II/README_EN.md index 9701adc4cf9c9..3ef85e8fa552e 100644 --- a/solution/3300-3399/3321.Find X-Sum of All K-Long Subarrays II/README_EN.md +++ b/solution/3300-3399/3321.Find X-Sum of All K-Long Subarrays II/README_EN.md @@ -2,6 +2,11 @@ comments: true difficulty: Hard edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3321.Find%20X-Sum%20of%20All%20K-Long%20Subarrays%20II/README_EN.md +tags: + - Array + - Hash Table + - Sliding Window + - Heap (Priority Queue) --- diff --git a/solution/3300-3399/3322.Premier League Table Ranking III/README_EN.md b/solution/3300-3399/3322.Premier League Table Ranking III/README_EN.md index cfc805ef73eed..e586d86da3e4f 100644 --- a/solution/3300-3399/3322.Premier League Table Ranking III/README_EN.md +++ b/solution/3300-3399/3322.Premier League Table Ranking III/README_EN.md @@ -85,20 +85,20 @@ This table contains season id, team id, team name, matches played, wins, draws,

Output:

-+------------+---------+-------------------+--------+-----------------+------+
-| season_id  | team_id | team_name         | points | goal_difference | rank |
-+------------+---------+-------------------+--------+-----------------+------+
-| 2021       | 1       | Manchester City   | 93     | 73              | 1    |
-| 2021       | 2       | Liverpool         | 92     | 68              | 2    |
-| 2021       | 3       | Chelsea           | 74     | 43              | 3    |
-| 2021       | 4       | Tottenham         | 71     | 29              | 4    |
-| 2021       | 5       | Arsenal           | 69     | 13              | 5    |
-| 2022       | 1       | Manchester City   | 89     | 61              | 1    |
-| 2022       | 2       | Arsenal           | 84     | 45              | 2    |
-| 2022       | 3       | Manchester United | 75     | 15              | 3    |
-| 2022       | 4       | Newcastle         | 71     | 35              | 4    |
-| 2022       | 5       | Liverpool         | 67     | 28              | 5    |
-+------------+---------+-------------------+--------+-----------------+------+
++------------+---------+-------------------+--------+-----------------+----------+
+| season_id  | team_id | team_name         | points | goal_difference | position |
++------------+---------+-------------------+--------+-----------------+----------+
+| 2021       | 1       | Manchester City   | 93     | 73              | 1        |
+| 2021       | 2       | Liverpool         | 92     | 68              | 2        |
+| 2021       | 3       | Chelsea           | 74     | 43              | 3        |
+| 2021       | 4       | Tottenham         | 71     | 29              | 4        |
+| 2021       | 5       | Arsenal           | 69     | 13              | 5        |
+| 2022       | 1       | Manchester City   | 89     | 61              | 1        |
+| 2022       | 2       | Arsenal           | 84     | 45              | 2        |
+| 2022       | 3       | Manchester United | 75     | 15              | 3        |
+| 2022       | 4       | Newcastle         | 71     | 35              | 4        |
+| 2022       | 5       | Liverpool         | 67     | 28              | 5        | 
++------------+---------+-------------------+--------+-----------------+----------+
 

Explanation:

diff --git a/solution/3300-3399/3323.Minimize Connected Groups by Inserting Interval/README.md b/solution/3300-3399/3323.Minimize Connected Groups by Inserting Interval/README.md new file mode 100644 index 0000000000000..040d357a4aded --- /dev/null +++ b/solution/3300-3399/3323.Minimize Connected Groups by Inserting Interval/README.md @@ -0,0 +1,243 @@ +--- +comments: true +difficulty: 中等 +edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3323.Minimize%20Connected%20Groups%20by%20Inserting%20Interval/README.md +--- + + + +# [3323. 通过插入区间最小化连通组 🔒](https://leetcode.cn/problems/minimize-connected-groups-by-inserting-interval) + +[English Version](/solution/3300-3399/3323.Minimize%20Connected%20Groups%20by%20Inserting%20Interval/README_EN.md) + +## 题目描述 + + + +

给定一个 2 维数组 intervals,其中 intervals[i] = [starti, endi] 表示区间 i 的开头和结尾。另外还给定一个整数 k

+ +

你必须向数组添加 恰好一个 新的区间 [startnew, endnew] 使得:

+ + + +

区间的 连通组 是一起覆盖了从最小点到最大点的连续范围,中间没有间隙的区间的最大集合。下面是一些例子:

+ + + +

返回在添加 恰好一个 新区间到数组后连通组的 最小 数量。

+ +

 

+ +

示例 1:

+ +
+

输入:intervals = [[1,3],[5,6],[8,10]], k = 3

+ +

输出:2

+ +

解释:

+ +

在添加区间 [3, 5] 后,我们有两个连通组:[[1, 3], [3, 5], [5, 6]] 和 [[8, 10]]

+
+ +

示例 2:

+ +
+

输入:intervals = [[5,10],[1,1],[3,3]], k = 1

+ +

输出:3

+ +

解释:

+ +

在添加区间 [1, 1] 后,我们有三个连通组:[[1, 1], [1, 1]][[3, 3]],和 [[5, 10]]

+
+ +

 

+ +

提示:

+ + + + + +## 解法 + + + +### 方法一:排序 + 二分查找 + +首先,我们对给定的区间集合 $\textit{intervals}$ 按照区间的左端点进行排序,然后合并所有相交的区间,得到一个新的区间集合 $\textit{merged}$。 + +那么我们可以将初始答案设为 $\textit{merged}$ 的长度。 + +接下来,我们枚举 $\textit{merged}$ 中的每一个区间 $[\_, e]$,我们可以通过二分查找,在 $\textit{merged}$ 中找到第一个左端点大于等于 $e + k + 1$ 的区间,设其下标为 $j$,那么我们可以将答案更新,即 $\textit{ans} = \min(\textit{ans}, |\textit{merged}| - (j - i - 1))$。 + +最终,我们返回答案 $\textit{ans}$ 即可。 + +时间复杂度 $O(n \times \log n)$,空间复杂度 $O(n)$。其中 $n$ 为区间的数量。 + + + +#### Python3 + +```python +class Solution: + def minConnectedGroups(self, intervals: List[List[int]], k: int) -> int: + intervals.sort() + merged = [intervals[0]] + for s, e in intervals[1:]: + if merged[-1][1] < s: + merged.append([s, e]) + else: + merged[-1][1] = max(merged[-1][1], e) + ans = len(merged) + for i, (_, e) in enumerate(merged): + j = bisect_left(merged, [e + k + 1, 0]) + ans = min(ans, len(merged) - (j - i - 1)) + return ans +``` + +#### Java + +```java +class Solution { + public int minConnectedGroups(int[][] intervals, int k) { + Arrays.sort(intervals, (a, b) -> Integer.compare(a[0], b[0])); + List merged = new ArrayList<>(); + merged.add(intervals[0]); + for (int i = 1; i < intervals.length; i++) { + int[] interval = intervals[i]; + int[] last = merged.get(merged.size() - 1); + if (last[1] < interval[0]) { + merged.add(interval); + } else { + last[1] = Math.max(last[1], interval[1]); + } + } + + int ans = merged.size(); + for (int i = 0; i < merged.size(); i++) { + int[] interval = merged.get(i); + int j = binarySearch(merged, interval[1] + k + 1); + ans = Math.min(ans, merged.size() - (j - i - 1)); + } + + return ans; + } + + private int binarySearch(List nums, int x) { + int l = 0, r = nums.size(); + while (l < r) { + int mid = (l + r) >> 1; + if (nums.get(mid)[0] >= x) { + r = mid; + } else { + l = mid + 1; + } + } + return l; + } +} +``` + +#### C++ + +```cpp +class Solution { +public: + int minConnectedGroups(vector>& intervals, int k) { + sort(intervals.begin(), intervals.end()); + vector> merged; + for (const auto& interval : intervals) { + int s = interval[0], e = interval[1]; + if (merged.empty() || merged.back()[1] < s) { + merged.emplace_back(interval); + } else { + merged.back()[1] = max(merged.back()[1], e); + } + } + int ans = merged.size(); + for (int i = 0; i < merged.size(); ++i) { + auto& interval = merged[i]; + int j = lower_bound(merged.begin(), merged.end(), vector{interval[1] + k + 1, 0}) - merged.begin(); + ans = min(ans, (int) merged.size() - (j - i - 1)); + } + return ans; + } +}; +``` + +#### Go + +```go +func minConnectedGroups(intervals [][]int, k int) int { + sort.Slice(intervals, func(i, j int) bool { return intervals[i][0] < intervals[j][0] }) + merged := [][]int{} + for _, interval := range intervals { + s, e := interval[0], interval[1] + if len(merged) == 0 || merged[len(merged)-1][1] < s { + merged = append(merged, interval) + } else { + merged[len(merged)-1][1] = max(merged[len(merged)-1][1], e) + } + } + ans := len(merged) + for i, interval := range merged { + j := sort.Search(len(merged), func(j int) bool { return merged[j][0] >= interval[1]+k+1 }) + ans = min(ans, len(merged)-(j-i-1)) + } + return ans +} +``` + +#### TypeScript + +```ts +function minConnectedGroups(intervals: number[][], k: number): number { + intervals.sort((a, b) => a[0] - b[0]); + const merged: number[][] = []; + for (const interval of intervals) { + const [s, e] = interval; + if (merged.length === 0 || merged.at(-1)![1] < s) { + merged.push(interval); + } else { + merged.at(-1)![1] = Math.max(merged.at(-1)![1], e); + } + } + const search = (x: number): number => { + let [l, r] = [0, merged.length]; + while (l < r) { + const mid = (l + r) >> 1; + if (merged[mid][0] >= x) { + r = mid; + } else { + l = mid + 1; + } + } + return l; + }; + let ans = merged.length; + for (let i = 0; i < merged.length; ++i) { + const j = search(merged[i][1] + k + 1); + ans = Math.min(ans, merged.length - (j - i - 1)); + } + return ans; +} +``` + + + + + + diff --git a/solution/3300-3399/3323.Minimize Connected Groups by Inserting Interval/README_EN.md b/solution/3300-3399/3323.Minimize Connected Groups by Inserting Interval/README_EN.md new file mode 100644 index 0000000000000..4da147c0ad85a --- /dev/null +++ b/solution/3300-3399/3323.Minimize Connected Groups by Inserting Interval/README_EN.md @@ -0,0 +1,241 @@ +--- +comments: true +difficulty: Medium +edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3323.Minimize%20Connected%20Groups%20by%20Inserting%20Interval/README_EN.md +--- + + + +# [3323. Minimize Connected Groups by Inserting Interval 🔒](https://leetcode.com/problems/minimize-connected-groups-by-inserting-interval) + +[中文文档](/solution/3300-3399/3323.Minimize%20Connected%20Groups%20by%20Inserting%20Interval/README.md) + +## Description + + + +

You are given a 2D array intervals, where intervals[i] = [starti, endi] represents the start and the end of interval i. You are also given an integer k.

+ +

You must add exactly one new interval [startnew, endnew] to the array such that:

+ +
    +
  • The length of the new interval, endnew - startnew, is at most k.
  • +
  • After adding, the number of connected groups in intervals is minimized.
  • +
+ +

A connected group of intervals is a maximal collection of intervals that, when considered together, cover a continuous range from the smallest point to the largest point with no gaps between them. Here are some examples:

+ +
    +
  • A group of intervals [[1, 2], [2, 5], [3, 3]] is connected because together they cover the range from 1 to 5 without any gaps.
  • +
  • However, a group of intervals [[1, 2], [3, 4]] is not connected because the segment (2, 3) is not covered.
  • +
+ +

Return the minimum number of connected groups after adding exactly one new interval to the array.

+ +

 

+

Example 1:

+ +
+

Input: intervals = [[1,3],[5,6],[8,10]], k = 3

+ +

Output: 2

+ +

Explanation:

+ +

After adding the interval [3, 5], we have two connected groups: [[1, 3], [3, 5], [5, 6]] and [[8, 10]].

+
+ +

Example 2:

+ +
+

Input: intervals = [[5,10],[1,1],[3,3]], k = 1

+ +

Output: 3

+ +

Explanation:

+ +

After adding the interval [1, 1], we have three connected groups: [[1, 1], [1, 1]], [[3, 3]], and [[5, 10]].

+
+ +

 

+

Constraints:

+ +
    +
  • 1 <= intervals.length <= 105
  • +
  • intervals[i] == [starti, endi]
  • +
  • 1 <= starti <= endi <= 109
  • +
  • 1 <= k <= 109
  • +
+ + + +## Solutions + + + +### Solution 1: Sorting + Binary Search + +First, we sort the given set of intervals $\textit{intervals}$ by their left endpoints, then merge all overlapping intervals to obtain a new set of intervals $\textit{merged}$. + +We can then set the initial answer to the length of $\textit{merged}$. + +Next, we enumerate each interval $[\_, e]$ in $\textit{merged}$. Using binary search, we find the first interval in $\textit{merged}$ whose left endpoint is greater than or equal to $e + k + 1$, and let its index be $j$. We can then update the answer as $\textit{ans} = \min(\textit{ans}, |\textit{merged}| - (j - i - 1))$. + +Finally, we return the answer $\textit{ans}$. + +The time complexity is $O(n \times \log n)$, and the space complexity is $O(n)$. Here, $n$ is the number of intervals. + + + +#### Python3 + +```python +class Solution: + def minConnectedGroups(self, intervals: List[List[int]], k: int) -> int: + intervals.sort() + merged = [intervals[0]] + for s, e in intervals[1:]: + if merged[-1][1] < s: + merged.append([s, e]) + else: + merged[-1][1] = max(merged[-1][1], e) + ans = len(merged) + for i, (_, e) in enumerate(merged): + j = bisect_left(merged, [e + k + 1, 0]) + ans = min(ans, len(merged) - (j - i - 1)) + return ans +``` + +#### Java + +```java +class Solution { + public int minConnectedGroups(int[][] intervals, int k) { + Arrays.sort(intervals, (a, b) -> Integer.compare(a[0], b[0])); + List merged = new ArrayList<>(); + merged.add(intervals[0]); + for (int i = 1; i < intervals.length; i++) { + int[] interval = intervals[i]; + int[] last = merged.get(merged.size() - 1); + if (last[1] < interval[0]) { + merged.add(interval); + } else { + last[1] = Math.max(last[1], interval[1]); + } + } + + int ans = merged.size(); + for (int i = 0; i < merged.size(); i++) { + int[] interval = merged.get(i); + int j = binarySearch(merged, interval[1] + k + 1); + ans = Math.min(ans, merged.size() - (j - i - 1)); + } + + return ans; + } + + private int binarySearch(List nums, int x) { + int l = 0, r = nums.size(); + while (l < r) { + int mid = (l + r) >> 1; + if (nums.get(mid)[0] >= x) { + r = mid; + } else { + l = mid + 1; + } + } + return l; + } +} +``` + +#### C++ + +```cpp +class Solution { +public: + int minConnectedGroups(vector>& intervals, int k) { + sort(intervals.begin(), intervals.end()); + vector> merged; + for (const auto& interval : intervals) { + int s = interval[0], e = interval[1]; + if (merged.empty() || merged.back()[1] < s) { + merged.emplace_back(interval); + } else { + merged.back()[1] = max(merged.back()[1], e); + } + } + int ans = merged.size(); + for (int i = 0; i < merged.size(); ++i) { + auto& interval = merged[i]; + int j = lower_bound(merged.begin(), merged.end(), vector{interval[1] + k + 1, 0}) - merged.begin(); + ans = min(ans, (int) merged.size() - (j - i - 1)); + } + return ans; + } +}; +``` + +#### Go + +```go +func minConnectedGroups(intervals [][]int, k int) int { + sort.Slice(intervals, func(i, j int) bool { return intervals[i][0] < intervals[j][0] }) + merged := [][]int{} + for _, interval := range intervals { + s, e := interval[0], interval[1] + if len(merged) == 0 || merged[len(merged)-1][1] < s { + merged = append(merged, interval) + } else { + merged[len(merged)-1][1] = max(merged[len(merged)-1][1], e) + } + } + ans := len(merged) + for i, interval := range merged { + j := sort.Search(len(merged), func(j int) bool { return merged[j][0] >= interval[1]+k+1 }) + ans = min(ans, len(merged)-(j-i-1)) + } + return ans +} +``` + +#### TypeScript + +```ts +function minConnectedGroups(intervals: number[][], k: number): number { + intervals.sort((a, b) => a[0] - b[0]); + const merged: number[][] = []; + for (const interval of intervals) { + const [s, e] = interval; + if (merged.length === 0 || merged.at(-1)![1] < s) { + merged.push(interval); + } else { + merged.at(-1)![1] = Math.max(merged.at(-1)![1], e); + } + } + const search = (x: number): number => { + let [l, r] = [0, merged.length]; + while (l < r) { + const mid = (l + r) >> 1; + if (merged[mid][0] >= x) { + r = mid; + } else { + l = mid + 1; + } + } + return l; + }; + let ans = merged.length; + for (let i = 0; i < merged.length; ++i) { + const j = search(merged[i][1] + k + 1); + ans = Math.min(ans, merged.length - (j - i - 1)); + } + return ans; +} +``` + + + + + + diff --git a/solution/3300-3399/3323.Minimize Connected Groups by Inserting Interval/Solution.cpp b/solution/3300-3399/3323.Minimize Connected Groups by Inserting Interval/Solution.cpp new file mode 100644 index 0000000000000..5a854e49a76a8 --- /dev/null +++ b/solution/3300-3399/3323.Minimize Connected Groups by Inserting Interval/Solution.cpp @@ -0,0 +1,22 @@ +class Solution { +public: + int minConnectedGroups(vector>& intervals, int k) { + sort(intervals.begin(), intervals.end()); + vector> merged; + for (const auto& interval : intervals) { + int s = interval[0], e = interval[1]; + if (merged.empty() || merged.back()[1] < s) { + merged.emplace_back(interval); + } else { + merged.back()[1] = max(merged.back()[1], e); + } + } + int ans = merged.size(); + for (int i = 0; i < merged.size(); ++i) { + auto& interval = merged[i]; + int j = lower_bound(merged.begin(), merged.end(), vector{interval[1] + k + 1, 0}) - merged.begin(); + ans = min(ans, (int) merged.size() - (j - i - 1)); + } + return ans; + } +}; diff --git a/solution/3300-3399/3323.Minimize Connected Groups by Inserting Interval/Solution.go b/solution/3300-3399/3323.Minimize Connected Groups by Inserting Interval/Solution.go new file mode 100644 index 0000000000000..cb74fe9c0e470 --- /dev/null +++ b/solution/3300-3399/3323.Minimize Connected Groups by Inserting Interval/Solution.go @@ -0,0 +1,18 @@ +func minConnectedGroups(intervals [][]int, k int) int { + sort.Slice(intervals, func(i, j int) bool { return intervals[i][0] < intervals[j][0] }) + merged := [][]int{} + for _, interval := range intervals { + s, e := interval[0], interval[1] + if len(merged) == 0 || merged[len(merged)-1][1] < s { + merged = append(merged, interval) + } else { + merged[len(merged)-1][1] = max(merged[len(merged)-1][1], e) + } + } + ans := len(merged) + for i, interval := range merged { + j := sort.Search(len(merged), func(j int) bool { return merged[j][0] >= interval[1]+k+1 }) + ans = min(ans, len(merged)-(j-i-1)) + } + return ans +} diff --git a/solution/3300-3399/3323.Minimize Connected Groups by Inserting Interval/Solution.java b/solution/3300-3399/3323.Minimize Connected Groups by Inserting Interval/Solution.java new file mode 100644 index 0000000000000..1f654399208ce --- /dev/null +++ b/solution/3300-3399/3323.Minimize Connected Groups by Inserting Interval/Solution.java @@ -0,0 +1,38 @@ +class Solution { + public int minConnectedGroups(int[][] intervals, int k) { + Arrays.sort(intervals, (a, b) -> Integer.compare(a[0], b[0])); + List merged = new ArrayList<>(); + merged.add(intervals[0]); + for (int i = 1; i < intervals.length; i++) { + int[] interval = intervals[i]; + int[] last = merged.get(merged.size() - 1); + if (last[1] < interval[0]) { + merged.add(interval); + } else { + last[1] = Math.max(last[1], interval[1]); + } + } + + int ans = merged.size(); + for (int i = 0; i < merged.size(); i++) { + int[] interval = merged.get(i); + int j = binarySearch(merged, interval[1] + k + 1); + ans = Math.min(ans, merged.size() - (j - i - 1)); + } + + return ans; + } + + private int binarySearch(List nums, int x) { + int l = 0, r = nums.size(); + while (l < r) { + int mid = (l + r) >> 1; + if (nums.get(mid)[0] >= x) { + r = mid; + } else { + l = mid + 1; + } + } + return l; + } +} diff --git a/solution/3300-3399/3323.Minimize Connected Groups by Inserting Interval/Solution.py b/solution/3300-3399/3323.Minimize Connected Groups by Inserting Interval/Solution.py new file mode 100644 index 0000000000000..1af54ca30a2cb --- /dev/null +++ b/solution/3300-3399/3323.Minimize Connected Groups by Inserting Interval/Solution.py @@ -0,0 +1,14 @@ +class Solution: + def minConnectedGroups(self, intervals: List[List[int]], k: int) -> int: + intervals.sort() + merged = [intervals[0]] + for s, e in intervals[1:]: + if merged[-1][1] < s: + merged.append([s, e]) + else: + merged[-1][1] = max(merged[-1][1], e) + ans = len(merged) + for i, (_, e) in enumerate(merged): + j = bisect_left(merged, [e + k + 1, 0]) + ans = min(ans, len(merged) - (j - i - 1)) + return ans diff --git a/solution/3300-3399/3323.Minimize Connected Groups by Inserting Interval/Solution.ts b/solution/3300-3399/3323.Minimize Connected Groups by Inserting Interval/Solution.ts new file mode 100644 index 0000000000000..51ddafd0a7375 --- /dev/null +++ b/solution/3300-3399/3323.Minimize Connected Groups by Inserting Interval/Solution.ts @@ -0,0 +1,30 @@ +function minConnectedGroups(intervals: number[][], k: number): number { + intervals.sort((a, b) => a[0] - b[0]); + const merged: number[][] = []; + for (const interval of intervals) { + const [s, e] = interval; + if (merged.length === 0 || merged.at(-1)![1] < s) { + merged.push(interval); + } else { + merged.at(-1)![1] = Math.max(merged.at(-1)![1], e); + } + } + const search = (x: number): number => { + let [l, r] = [0, merged.length]; + while (l < r) { + const mid = (l + r) >> 1; + if (merged[mid][0] >= x) { + r = mid; + } else { + l = mid + 1; + } + } + return l; + }; + let ans = merged.length; + for (let i = 0; i < merged.length; ++i) { + const j = search(merged[i][1] + k + 1); + ans = Math.min(ans, merged.length - (j - i - 1)); + } + return ans; +} diff --git a/solution/DATABASE_README.md b/solution/DATABASE_README.md index a35d091b26ad7..c396c38a3b2ad 100644 --- a/solution/DATABASE_README.md +++ b/solution/DATABASE_README.md @@ -297,7 +297,7 @@ | 3278 | [寻找数据科学家职位的候选人 II](/solution/3200-3299/3278.Find%20Candidates%20for%20Data%20Scientist%20Position%20II/README.md) | `数据库` | 中等 | 🔒 | | 3293 | [计算产品最终价格](/solution/3200-3299/3293.Calculate%20Product%20Final%20Price/README.md) | `数据库` | 中等 | 🔒 | | 3308 | [Find Top Performing Driver](/solution/3300-3399/3308.Find%20Top%20Performing%20Driver/README.md) | `数据库` | 中等 | 🔒 | -| 3322 | [英超积分榜排名 III](/solution/3300-3399/3322.Premier%20League%20Table%20Ranking%20III/README.md) | | 中等 | 🔒 | +| 3322 | [英超积分榜排名 III](/solution/3300-3399/3322.Premier%20League%20Table%20Ranking%20III/README.md) | `数据库` | 中等 | 🔒 | ## 版权 diff --git a/solution/DATABASE_README_EN.md b/solution/DATABASE_README_EN.md index 6c3a747cc5d04..0ad562b350bea 100644 --- a/solution/DATABASE_README_EN.md +++ b/solution/DATABASE_README_EN.md @@ -295,7 +295,7 @@ Press Control + F(or Command + F on | 3278 | [Find Candidates for Data Scientist Position II](/solution/3200-3299/3278.Find%20Candidates%20for%20Data%20Scientist%20Position%20II/README_EN.md) | `Database` | Medium | 🔒 | | 3293 | [Calculate Product Final Price](/solution/3200-3299/3293.Calculate%20Product%20Final%20Price/README_EN.md) | `Database` | Medium | 🔒 | | 3308 | [Find Top Performing Driver](/solution/3300-3399/3308.Find%20Top%20Performing%20Driver/README_EN.md) | `Database` | Medium | 🔒 | -| 3322 | [Premier League Table Ranking III](/solution/3300-3399/3322.Premier%20League%20Table%20Ranking%20III/README_EN.md) | | Medium | 🔒 | +| 3322 | [Premier League Table Ranking III](/solution/3300-3399/3322.Premier%20League%20Table%20Ranking%20III/README_EN.md) | `Database` | Medium | 🔒 | ## Copyright diff --git a/solution/README.md b/solution/README.md index 2850c846cca7d..3a2b94001ea6a 100644 --- a/solution/README.md +++ b/solution/README.md @@ -3324,15 +3324,16 @@ | 3311 | [构造符合图结构的二维矩阵](/solution/3300-3399/3311.Construct%202D%20Grid%20Matching%20Graph%20Layout/README.md) | `图`,`数组`,`哈希表`,`矩阵` | 困难 | 第 418 场周赛 | | 3312 | [查询排序后的最大公约数](/solution/3300-3399/3312.Sorted%20GCD%20Pair%20Queries/README.md) | `数组`,`哈希表`,`数学`,`二分查找`,`组合数学`,`计数`,`数论`,`前缀和` | 困难 | 第 418 场周赛 | | 3313 | [查找树中最后标记的节点](/solution/3300-3399/3313.Find%20the%20Last%20Marked%20Nodes%20in%20Tree/README.md) | `树`,`深度优先搜索` | 困难 | 🔒 | -| 3314 | [构造最小位运算数组 I](/solution/3300-3399/3314.Construct%20the%20Minimum%20Bitwise%20Array%20I/README.md) | | 简单 | 第 141 场双周赛 | -| 3315 | [构造最小位运算数组 II](/solution/3300-3399/3315.Construct%20the%20Minimum%20Bitwise%20Array%20II/README.md) | | 中等 | 第 141 场双周赛 | -| 3316 | [从原字符串里进行删除操作的最多次数](/solution/3300-3399/3316.Find%20Maximum%20Removals%20From%20Source%20String/README.md) | | 中等 | 第 141 场双周赛 | -| 3317 | [安排活动的方案数](/solution/3300-3399/3317.Find%20the%20Number%20of%20Possible%20Ways%20for%20an%20Event/README.md) | | 困难 | 第 141 场双周赛 | -| 3318 | [计算子数组的 x-sum I](/solution/3300-3399/3318.Find%20X-Sum%20of%20All%20K-Long%20Subarrays%20I/README.md) | | 简单 | 第 419 场周赛 | -| 3319 | [第 K 大的完美二叉子树的大小](/solution/3300-3399/3319.K-th%20Largest%20Perfect%20Subtree%20Size%20in%20Binary%20Tree/README.md) | | 中等 | 第 419 场周赛 | -| 3320 | [统计能获胜的出招序列数](/solution/3300-3399/3320.Count%20The%20Number%20of%20Winning%20Sequences/README.md) | | 困难 | 第 419 场周赛 | -| 3321 | [计算子数组的 x-sum II](/solution/3300-3399/3321.Find%20X-Sum%20of%20All%20K-Long%20Subarrays%20II/README.md) | | 困难 | 第 419 场周赛 | -| 3322 | [英超积分榜排名 III](/solution/3300-3399/3322.Premier%20League%20Table%20Ranking%20III/README.md) | | 中等 | 🔒 | +| 3314 | [构造最小位运算数组 I](/solution/3300-3399/3314.Construct%20the%20Minimum%20Bitwise%20Array%20I/README.md) | `位运算`,`数组` | 简单 | 第 141 场双周赛 | +| 3315 | [构造最小位运算数组 II](/solution/3300-3399/3315.Construct%20the%20Minimum%20Bitwise%20Array%20II/README.md) | `位运算`,`数组` | 中等 | 第 141 场双周赛 | +| 3316 | [从原字符串里进行删除操作的最多次数](/solution/3300-3399/3316.Find%20Maximum%20Removals%20From%20Source%20String/README.md) | `数组`,`哈希表`,`双指针`,`字符串`,`动态规划` | 中等 | 第 141 场双周赛 | +| 3317 | [安排活动的方案数](/solution/3300-3399/3317.Find%20the%20Number%20of%20Possible%20Ways%20for%20an%20Event/README.md) | `数学`,`动态规划`,`组合数学` | 困难 | 第 141 场双周赛 | +| 3318 | [计算子数组的 x-sum I](/solution/3300-3399/3318.Find%20X-Sum%20of%20All%20K-Long%20Subarrays%20I/README.md) | `数组`,`哈希表`,`滑动窗口`,`堆(优先队列)` | 简单 | 第 419 场周赛 | +| 3319 | [第 K 大的完美二叉子树的大小](/solution/3300-3399/3319.K-th%20Largest%20Perfect%20Subtree%20Size%20in%20Binary%20Tree/README.md) | `树`,`深度优先搜索`,`二叉树`,`排序` | 中等 | 第 419 场周赛 | +| 3320 | [统计能获胜的出招序列数](/solution/3300-3399/3320.Count%20The%20Number%20of%20Winning%20Sequences/README.md) | `字符串`,`动态规划` | 困难 | 第 419 场周赛 | +| 3321 | [计算子数组的 x-sum II](/solution/3300-3399/3321.Find%20X-Sum%20of%20All%20K-Long%20Subarrays%20II/README.md) | `数组`,`哈希表`,`滑动窗口`,`堆(优先队列)` | 困难 | 第 419 场周赛 | +| 3322 | [英超积分榜排名 III](/solution/3300-3399/3322.Premier%20League%20Table%20Ranking%20III/README.md) | `数据库` | 中等 | 🔒 | +| 3323 | [通过插入区间最小化连通组](/solution/3300-3399/3323.Minimize%20Connected%20Groups%20by%20Inserting%20Interval/README.md) | | 中等 | 🔒 | ## 版权 diff --git a/solution/README_EN.md b/solution/README_EN.md index b19bfd7fb70bf..43edbb4870228 100644 --- a/solution/README_EN.md +++ b/solution/README_EN.md @@ -3322,15 +3322,16 @@ Press Control + F(or Command + F on | 3311 | [Construct 2D Grid Matching Graph Layout](/solution/3300-3399/3311.Construct%202D%20Grid%20Matching%20Graph%20Layout/README_EN.md) | `Graph`,`Array`,`Hash Table`,`Matrix` | Hard | Weekly Contest 418 | | 3312 | [Sorted GCD Pair Queries](/solution/3300-3399/3312.Sorted%20GCD%20Pair%20Queries/README_EN.md) | `Array`,`Hash Table`,`Math`,`Binary Search`,`Combinatorics`,`Counting`,`Number Theory`,`Prefix Sum` | Hard | Weekly Contest 418 | | 3313 | [Find the Last Marked Nodes in Tree](/solution/3300-3399/3313.Find%20the%20Last%20Marked%20Nodes%20in%20Tree/README_EN.md) | `Tree`,`Depth-First Search` | Hard | 🔒 | -| 3314 | [Construct the Minimum Bitwise Array I](/solution/3300-3399/3314.Construct%20the%20Minimum%20Bitwise%20Array%20I/README_EN.md) | | Easy | Biweekly Contest 141 | -| 3315 | [Construct the Minimum Bitwise Array II](/solution/3300-3399/3315.Construct%20the%20Minimum%20Bitwise%20Array%20II/README_EN.md) | | Medium | Biweekly Contest 141 | -| 3316 | [Find Maximum Removals From Source String](/solution/3300-3399/3316.Find%20Maximum%20Removals%20From%20Source%20String/README_EN.md) | | Medium | Biweekly Contest 141 | -| 3317 | [Find the Number of Possible Ways for an Event](/solution/3300-3399/3317.Find%20the%20Number%20of%20Possible%20Ways%20for%20an%20Event/README_EN.md) | | Hard | Biweekly Contest 141 | -| 3318 | [Find X-Sum of All K-Long Subarrays I](/solution/3300-3399/3318.Find%20X-Sum%20of%20All%20K-Long%20Subarrays%20I/README_EN.md) | | Easy | Weekly Contest 419 | -| 3319 | [K-th Largest Perfect Subtree Size in Binary Tree](/solution/3300-3399/3319.K-th%20Largest%20Perfect%20Subtree%20Size%20in%20Binary%20Tree/README_EN.md) | | Medium | Weekly Contest 419 | -| 3320 | [Count The Number of Winning Sequences](/solution/3300-3399/3320.Count%20The%20Number%20of%20Winning%20Sequences/README_EN.md) | | Hard | Weekly Contest 419 | -| 3321 | [Find X-Sum of All K-Long Subarrays II](/solution/3300-3399/3321.Find%20X-Sum%20of%20All%20K-Long%20Subarrays%20II/README_EN.md) | | Hard | Weekly Contest 419 | -| 3322 | [Premier League Table Ranking III](/solution/3300-3399/3322.Premier%20League%20Table%20Ranking%20III/README_EN.md) | | Medium | 🔒 | +| 3314 | [Construct the Minimum Bitwise Array I](/solution/3300-3399/3314.Construct%20the%20Minimum%20Bitwise%20Array%20I/README_EN.md) | `Bit Manipulation`,`Array` | Easy | Biweekly Contest 141 | +| 3315 | [Construct the Minimum Bitwise Array II](/solution/3300-3399/3315.Construct%20the%20Minimum%20Bitwise%20Array%20II/README_EN.md) | `Bit Manipulation`,`Array` | Medium | Biweekly Contest 141 | +| 3316 | [Find Maximum Removals From Source String](/solution/3300-3399/3316.Find%20Maximum%20Removals%20From%20Source%20String/README_EN.md) | `Array`,`Hash Table`,`Two Pointers`,`String`,`Dynamic Programming` | Medium | Biweekly Contest 141 | +| 3317 | [Find the Number of Possible Ways for an Event](/solution/3300-3399/3317.Find%20the%20Number%20of%20Possible%20Ways%20for%20an%20Event/README_EN.md) | `Math`,`Dynamic Programming`,`Combinatorics` | Hard | Biweekly Contest 141 | +| 3318 | [Find X-Sum of All K-Long Subarrays I](/solution/3300-3399/3318.Find%20X-Sum%20of%20All%20K-Long%20Subarrays%20I/README_EN.md) | `Array`,`Hash Table`,`Sliding Window`,`Heap (Priority Queue)` | Easy | Weekly Contest 419 | +| 3319 | [K-th Largest Perfect Subtree Size in Binary Tree](/solution/3300-3399/3319.K-th%20Largest%20Perfect%20Subtree%20Size%20in%20Binary%20Tree/README_EN.md) | `Tree`,`Depth-First Search`,`Binary Tree`,`Sorting` | Medium | Weekly Contest 419 | +| 3320 | [Count The Number of Winning Sequences](/solution/3300-3399/3320.Count%20The%20Number%20of%20Winning%20Sequences/README_EN.md) | `String`,`Dynamic Programming` | Hard | Weekly Contest 419 | +| 3321 | [Find X-Sum of All K-Long Subarrays II](/solution/3300-3399/3321.Find%20X-Sum%20of%20All%20K-Long%20Subarrays%20II/README_EN.md) | `Array`,`Hash Table`,`Sliding Window`,`Heap (Priority Queue)` | Hard | Weekly Contest 419 | +| 3322 | [Premier League Table Ranking III](/solution/3300-3399/3322.Premier%20League%20Table%20Ranking%20III/README_EN.md) | `Database` | Medium | 🔒 | +| 3323 | [Minimize Connected Groups by Inserting Interval](/solution/3300-3399/3323.Minimize%20Connected%20Groups%20by%20Inserting%20Interval/README_EN.md) | | Medium | 🔒 | ## Copyright From a6303e34903f06935fc0817f5a5f168cb61eb88a Mon Sep 17 00:00:00 2001 From: yanglbme Date: Wed, 16 Oct 2024 10:18:58 +0800 Subject: [PATCH 2/3] fix: update --- .../images/image.jpg | Bin 20838 -> 0 bytes .../images/image1.jpg | Bin 14080 -> 0 bytes .../images/image4.jpg | Bin 7815 -> 0 bytes .../images/tmp74xnmpj4-1.png | Bin 0 -> 9168 bytes .../images/tmp_s508x9e-1.png | Bin 0 -> 11997 bytes .../images/tmpresl95rp-1.png | Bin 0 -> 26837 bytes 6 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 solution/3300-3399/3319.K-th Largest Perfect Subtree Size in Binary Tree/images/image.jpg delete mode 100644 solution/3300-3399/3319.K-th Largest Perfect Subtree Size in Binary Tree/images/image1.jpg delete mode 100644 solution/3300-3399/3319.K-th Largest Perfect Subtree Size in Binary Tree/images/image4.jpg create mode 100644 solution/3300-3399/3319.K-th Largest Perfect Subtree Size in Binary Tree/images/tmp74xnmpj4-1.png create mode 100644 solution/3300-3399/3319.K-th Largest Perfect Subtree Size in Binary Tree/images/tmp_s508x9e-1.png create mode 100644 solution/3300-3399/3319.K-th Largest Perfect Subtree Size in Binary Tree/images/tmpresl95rp-1.png diff --git a/solution/3300-3399/3319.K-th Largest Perfect Subtree Size in Binary Tree/images/image.jpg b/solution/3300-3399/3319.K-th Largest Perfect Subtree Size in Binary Tree/images/image.jpg deleted file mode 100644 index 3a74b5a5d2644a05664f407952e2da7f12d5c986..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20838 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 N(|`9jk;tQg{{u1kU{wGB diff --git a/solution/3300-3399/3319.K-th Largest Perfect Subtree Size in Binary Tree/images/image4.jpg b/solution/3300-3399/3319.K-th Largest Perfect Subtree Size in Binary Tree/images/image4.jpg deleted file mode 100644 index f8c9987f208799e73f7d423c9594ef4a30b10ef5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7815 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 a$;&=v0RUs9%IpsRdOrHk$u0b1{J#LT9?CNS diff --git a/solution/3300-3399/3319.K-th Largest Perfect Subtree Size in Binary Tree/images/tmp74xnmpj4-1.png b/solution/3300-3399/3319.K-th Largest Perfect Subtree Size in Binary Tree/images/tmp74xnmpj4-1.png new file mode 100644 index 0000000000000000000000000000000000000000..264055011edbfa5b1e7cadb0c363490b29709d1e GIT binary patch literal 9168 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 YNHH;6wpO|uDj$NN?KIy}V(1$6e+Gdb=Kufz literal 0 HcmV?d00001 From f5db6b9744b117c343c652ab119001e477911333 Mon Sep 17 00:00:00 2001 From: Doocs Bot Date: Wed, 16 Oct 2024 10:21:07 +0800 Subject: [PATCH 3/3] Optimised images with calibre/image-actions --- .../images/tmp74xnmpj4-1.png | Bin 9168 -> 6480 bytes .../images/tmp_s508x9e-1.png | Bin 11997 -> 9385 bytes .../images/tmpresl95rp-1.png | Bin 26837 -> 18595 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/solution/3300-3399/3319.K-th Largest Perfect Subtree Size in Binary Tree/images/tmp74xnmpj4-1.png b/solution/3300-3399/3319.K-th Largest Perfect Subtree Size in Binary Tree/images/tmp74xnmpj4-1.png index 264055011edbfa5b1e7cadb0c363490b29709d1e..1bab1d327d446d10b827bb9b7e130e676d3e5b18 100644 GIT binary patch literal 6480 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 Lx?HKO>D&JSsrD5a literal 9168 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 WM}LEdNChCoQdQJasFQp3`hNjJ*&($6 literal 11997 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 FngBKS>ZSky literal 26837 zcmcG$c{r8t7e4x$H&H?n#WpK*=6Q;wG9@z4GKI{U$&?`)5Hb^$Su$lNgpedNnaP~Y z_E}q>@43$T=l9RKj_dkm`1hEuA7GH z*!mJzqtH>8Nq*JrB@M0zpIaGz8z^)q`gN1l`HvoTQJ|T+YF*Y+2Dfe)YldhrB$FIF%4JQbd;TY~c9|2x1aW6DsDpK1syjqpq(%GCuy*_gQ8h zF(sQ5CRO->-km#lCg&^chbVSEw6%ZWoso=v_Uzg7=Rs-|{}wkqsb_wq#Jp{3;Jr-} zTd>9b`@Hvx(X6bBS$zg>0Wy4sy;9B`oSgcVPK-gYC)jmBi=Pf_wia9+D!ZQ5M@3ED zlPGZiaChU`v&Y8PU%FYijO$*%v03%t(f`PG_dwJ78Ph zNQR&ouf)B}&dx3<=r$|S($Tqo{d$pceX6Cd&oP2v!$wwAI<4r_CrN2(qXKQ0T1;i7 zs8JEkg$p)(G?mKfA3g{Q3;&pMN@qe4Z0rS)Up#$XUS9segMw}=J8SF7nw<#=igmBr z#Kc7Ll)_J+E>hzDd*6WTT%Fq5+Doq0U0q!tKYkn?9gQ7T($abf_cgLoUS4ivV?)}U zZu{?j5nh}I-<`4hg0v5WlLu_c_Ny^=IRmyfN!st>^|Z@D|6V2=%TG#4M>q2A+pi5z zd7;CJWR;xZa=U~Mi*Jjr+V9T|;3G~2p?9^kChx$#O5-6Bncr=<1M!Foy}l;pYGnM|lXRKUE9eXPxgs>A-aD%g?ChE&&`1Dh zqaGTt^*?`|Z?Bbfj}>XlR^|%=z%) z`}|gh6%Mi=TrP_sQ(xz|6t7?JT#Vw5w=_35kBp3b=*jmlm=_c*EiK*L%Dc|@x{T0$ zGAasI6@$pbCNKHe2^NIt4g}&+gCFc!@kjHv)AGuurWsvd&Rw`rW!4(8v}CKrkH|W{ zB7$hQd;9k7-rip6MXviaN(I`}`EboRAM7G|9ZhJ4jn~)LVx?RuDmh=iel0A3Ma4s~ z=`O$@F6*-vgv{W~J^7sV=8ppXwo%vxPteV)hQ=g`oj z90t$1#QUq2)2CAlr7gcu$+yG7x41ZuAf&i|;VcASj<*au!|-*-c~9W}*C=|a>NEyX z=b3gmfV(w;a84B?&&R!dnf@6E!9BUdH%ZCK#EdW4ZvWc8!mj#y^7vto)XtwhJdsf+ zydsg2VX~Ic&W`jDP3qq$6 zY&AiT_6bT^bUxDaUc-!kd@wSf=1)&a`64MP32uguCit?wl@*)qMOe)lLIMPJ-JwE4T6%oexwW-* z!z1qL)2I55wQ=Omo!k`$)vj;bJY1Zeg&js|=;%5c zmyI#i2ZLc`bbk-GdR#h!gdYsI>^unO+u3nWR5Yf9Lp1-}H)&t-U>yb#hl`9e2W#~*Zc9`})MhknOiZ`~WG73H$Vbr~ z>u^wIDMkM}(EABV{NIK=%$?ulmXh+_oax}L{iB&SA?5XlgVEym&k~VwPv)YEMn2My zQ2MX|jq-rH6de2J4VzIB_GWzd7jx}?n{qfl+`Dw?(kG+L4oKC_$->8U}lQUV&#Y$6C)7(5u zKErb{C&8iq$lYiy(3GYLa|1Hrw;&fNiA~?XzrB;dt^axFuCV=2K8PuZrQ=TCdY^-p z3Or*53HRT0j-MDC%`8X2H(U20xsocGLH-whx-#)W2F*TW$z@Hx_^jVe7&dp_3!;!?MaJ0|j z_I`?l$Ct_g)!Y~4SK*X@|E~a}gJS_BICaKzkLnthet0k<9FbYf2nPp?u?}y#x(YH{ z?5vJCbDOxiZGW)o_exX!w~t6unyI^X~Os6!-tE~K9xHaG@)+`u|E!u zj=3C5Rr9Hx?d=VWX8$6dCCc;_WQ)7+wIBM9vZwh#+zlQ5d8iv79UaZh!xP`Fg*5Zo zmRBFJG{l)@4;pzt7^`**jx8-MZE9+gHfQ;-3~O?Au8!AwuMC&Nb+plMDzQJF0d|J@ z+ICPGJ7*&zBVROL@9SY{kd>~0%6pGK4VD;tfQOt#F9PZqYb!foz^vY}wSA{o;9zYX z+nAftzi6GbS~qWs_K}`=b2}O0Qnvq(?3~&^%n{IAU1Znu^{Y{-MMu;H0m9msAtTr9 z%7&a>TyhQ)otBfX3J4TvFQ@wxSHv)_H)?BXnM9NSt2*kCJ|Up*)q1)0ZjERG9MaM0 z7vvtZ7n_}(g`0sQK(oIqm7umbn_xU%YI$mrGYzr<_I4)|5JSy)%l>cQ0KgO))?|zR z?q(IOUeY$%zz5)f%{1wbV|RQuYXw6(^USX%vLrAoLng1?CAp!9a}reeck({wIcF`N zk8CyJQ(h=jQC5D%XW9fgiMN4NNnP0Vf3@+f!n-eDzNlpN(fm;qI`lPzY9{GC6W$iQ3I;kYh~@kgoK15 z{R-7C(*PRW0D27rllf4iBI8e<{BS{l=w)n!6CB(#|GubbUUlwWVWClpSqOj~pIs*h zheGAh*!S<=-C}#8nhP(WzW@7Wd^}q!;LhjIpO-q%s?<+7R*YN-?OSwh4m(qnpYJN3 z;yHQpyt2Dyx`0$^NJAGE7CwFYwAi29FX+2ETJ`)n#aSL!<0|Kz4vR0Ho$vGWEp)Xd zMdn<^FGp;8N-{}yqpx1od_N#8DCk*h6xpf?C|N_x)^=%sd-+0WV;Xj~f8gREsFoFX z$MH|P5xG6ii9w}hWd+*rX~ajD2a9;Qxx2r7pl5;~_hTH4xl zw6*trq)mBNoJ7BU`xX%q!F9efLm>>x0n5=1B}GL@y4dBFOohw_UC8@^CCGLA`(BOG zn*VaNTmxShtoQY3T1AcTaB!{5h5#oH*v9oHr3HpZMoReX7Pp!~hJkcH=SG@rsmtT` zTs1eD&oroQnxBT$d7tm@mAf}?bii_1C#6dJdKnoRxw?L6G;tEWm^mCsc5-AUuUF^p z8kF1KefY5Cr>4(lBjm60a$T-?C}=tb+Ve9r-vG1Q2DI44r^Ca;4JCD_sCi!Q)5fLyoUY$(<$ZH2 z@oM<7cxP$b(@P^CALttzUh-1)b&ouhXm#JG4w4PQY5LP6J^#R3IKif*(c6(~ z$BDX%aW6ZlJ;CJBN-q)<#h{f1@CgAzDW92{i5rO1S(>Ys#uoe<&=3^V?(XjEG4v1Y z?OB4=sp8VoWbS``y-u39@BfqKrP}#_!IB+QW8U_3;JuEywL4mB@Xebyb8~Y54yC;R z{=qcUMqBOwS=1|V2k-$1wdwjWU1ur0?JHN@lMX1zz5dFTE0r3yFFJx5m*j%gbcRK^ zwheAH`9DASyP{v`BX+wV-lH|*+}2$8iw$AolWj!{=Jr=X>CEa=M)fUk1JwF_m6V(~ z)b!o^_fwvJ8Tyy zBp(tI60UV}+8bm`xN4w@DYqLG78bS@O!|fWG0QJSo=Df8kvZi1p^JmfP63=t&xT8j zi`Cx`{4&S6y!1?qs_foLO@de`%2SF^i@o3=a_WD%Oy2MHFUrKbvg4Kc+E8+@dRXI? z>Ycoi?0r-UqwK<|lQ^2m^NvvCiU{BfV|6-tvl-H4W}N-Nf_3<3IGO=I=o?H8>c>X0 z6x7&U9PsjwG#Bx75`x!qDLU+tz{$ftU#!9ZA##Umd(@@J(!wHr4VQ1>o_Mjp(n-Cg zIkA5(V!4< z_Ab{y3Zj|~IV2bf%+91zOP&2THV1@Q<_zo7<#E;X07%wU%Vy*iHb`@`k7nVLm6@8-(T0%xYa^1j2Wx( z@Lz8vf}&}VYg{zQ4oQxM1$d27*Z$k1G0kazY>RFaeb$)&nXQfe5#mI_ZJ%bu;fGD*6WkdOW)|FPhR%Ib-=9U#B zmm^5L8jt+y#~kL9`mo*4NQx?@!)R;;B&cuMckPo_dzKte)) z_x#W0ZD%qoZSC`fDrgR>pJ#FS)}@@Fn*)}^s;sJ@;P$Q-4O9@=Mf#ZQ1=?+GZNN$y zWgg^0+JzdB)4%wXUdpy?=+Mvq?%i{mkx2UuEiElb?^DfThCDg|X5Za?pP7{fjpW7C zM4hG2IZrq90i!f9FaXp4feXcis>VQfE-YV%08KHu;Oc(T?=gyx8CJaE< zWu-f4rdK35H0|%s$%h*iQ4h%bB)zFRmuZ$ty;>*wirnmKV(}aix@!>SHi2s)oUB+^ z8lsP3{>WV=oE%O5JT5LIx{1$PlmVH%0?@)(PtW#hqIRLd<&WOxG@niQE{Zt^zp*K? zoO2gXfubWo8*Q-r!E?jx;_@kEEV&5IVuLOR05t<(!hU|0f195#NE9F0ptR{IhO-*0aL^kS7z3Jg&9}$LJN4$7=L(7c;^Y14o^ql(cP{Z3+p~IL zG$C+m+*guBA2KOwkT#<*a&ZX>XBeaN2&>%%?5s`V)4REGj zgw^9ymQLekWHkNN@`Q|x>|3?Vs*w7>~ zW64R>Rot+*>>lcnmJlKLLxL=afWIx*tF;^Cx%}1ES@$;(!!(-;*t+;+$|}$%Dc*r7 zLBC^Z!!u~p{delGJMD{}K$~tr)5G6%LA~ zCexUvlY%aU3(c1%^|YP}oBlUsbi%!Y(Nt*&TK;rc7F>1jhT@omhmX%E(HLA*MFkBo z7vxEeCO>ODil70h49R%>v!CtbA0Gr69JVE6;(w?fs(LLbx%>1FEk1Z{Y`xr0^6c53 z@V~F1K(ygX|_RYz6=(`+~ZNMDD_SO~u(fLPu&lx`?w2X{#{ELR{qSLbH-M%$xM~#e{zr$g{k{1#%nZ9sqUb|2=pr@W z&KzU{jAaVGDB(`JHv!So5VPweo%BZF>Q&EL6&;)GtKE ztjtV~h~bY9=**A>GP^)@K9-FOjs@0o%PTILPK3vxa=j_!R9|18n3x!VdQJ|G%BfJg zuPG8c?~RXa0YCdtZ&BCp5_q6tb)EjMj9k~Cns`x?l9GbiU;v~gbNtM5h~NA(*S%ud zqCw#1x&dwZ?@omgh`wZ#k*O~%JUu`LJM1?D_=-w#qnhRqd>&9c^Gwl{?5e-VYY$@l z56vGuSn12U4){v}wYTEve*o0fmR{G)jDQXU*O=)PnhEa zxWSn4@Zur+iZOTn$>oO+ANI&#BpHKEX&h9NWJXm3;O?*-wJ0|?x6gh2{r%;lH1Ab0 z`Su`!QxKMK8wQ1FZ@ak(G0t=)3NZNoIa{>jghh?KwBJRspC%I1CSdo2%ZRsedySHk za(a5&+h;k|dv)q~%2j-i=dDuK*-7BCH0AmQMJ{wQIFN>uYXW~Zt>2#u&$gJ$dF9G3 z&)h;^7BM44c-})u*Xxb|4=?bW;TI)@KYdyU&~!ga5EoAXOV3ZRc6W8zJ2)ss;~}va zeY%e5XIr^-b*bc6{SJ4>C1TEzwBAvZ0$v^v<7Z$^BMtcp@qH!fc2VfAhjz1jTP>7o zk{d0QzJALo9^;I`q)@K-7#lca+8!?vBB;p&3!1|Dl%%9DNAqw_j$pT#+1TD3RIB4G zY2x5sEvJ|k#B~{90snHaLA)3Zl)p#OW0br zY?|-i3yc=u^EBYaub~{?y43}zN{F@_di+X@hk3Xt#x6YBU2)(259`z^l8>Axt06o= z0W$>UatRlawSrQ~V_1C+CFZdTu!weNEj&CN*uB4h|3XCn7#ytM8TW>+xdIXCA03Ti zHcKb!!b4EpOiV!sVS~%QKtW6I%~1NVfy4vs2;18_I@F9akU5T*-WLH?XOnac zvPS*xuShHjT)kX4{WN^z;0X66^`k&Iva;bR;%;Boc3gBb{rCIR#4kPtDKS3&yw6nx z37V2%CT9#jg^2Rj?f&8{`UL!t^O)OUYg?NPG>*x_58&(rsd1Bn1QM?7s=qTyYq4o_ zWj_-g9T3bLp8?BD9sDlawSd59Zs5tMOSX&wf_&7ow= zM|dyT)!5`MSG2Cg<(;pRxr*VmjkPO__}CePtOu$1b=7>Ax~j?+=Lzu!Zk&gUsw?v%_x+<`v<6)F+26!?$O0QD z=liUz$AdS4KysNEklt)(Hi$_B%5$?<;f$NRJG21%pn+4SA2CRI3EE!t3SUUAAwiGc zEBImA84u~^Y5h%CH#h7C)Of7T=}iF!u@R(&X4M~aeBuhgW|G`AzobF4>ao?`UC*My z&Yg@`kQOwIjK1`&rr9)8IG&Gd|&WumblC!r<2(##Qb2 z<#~Ci6e-xk-s|%}r#IHCg}*Ov1AkJt@tIDl&Tr&Fg%sv+tA2l=Xm`Az#_wn!$nFi= zB?M8v>FeujWR!~3f~N5XM1|g2XE)5R%7@d(hx0OODdKnOGfrdS&g6vbwcu{6&hGAW z=y5>dVIwPl_k2Lqn{JEgX>YIGn@c9(FjrMob#``!uIL>d641;S1)NQl0q)F`low7e#yf`uH72D?47W+m#Qe9nP>feVXPvAK7Rk8x5Us00YovAeMbTGC$ETd2YQ1 zBA5}xD7`YP=%|CXQG*J;ho_ZK|HW6ROa>a@!2|BjQfF>-#aV7AQk$|EG2)ucg3zX0^9NG=$a|y6#zj>pY zCVlBbAcE|-tR#W;K(9bsbry(u$an21Y*$j42{HquyMh942m#>`5DLUoPG4YzD@^%l zpiex_AkCF4|B&6}%kLaQxFAR^UV#k+WdOeoeIRik#ZG7;CyfI1g`7Ht*N)(j1-y?P z(n8pP1tx4a;o~Fi@9jm${K_}3uLFvAd7Fv(B5Zl3`0B3FBhuGSk7dC?@d}D?aJI^zivtw0+O2U)SQzkT@r@_ZXD%nQ0)}K(aXOG)EkI(_b8=Qh&{7G61D=Q@> zrPbl`o7DyEBI)Iz(6a?O7BiS z?&`V~kqJz^ZoJ|VE@JSce=#aL8nU17R=3D)wmU{f^v!&lq~@fAkM#=1!QBBn_I}{! z8A6>t0`k9H=T9*PXL7`}HT&k|=ikce!#}=r1&9vD7KaL=<2zY>>QuANRqCA(NxMgW zFFLMaiASTNgaZ{|BNR3K>W%d*r%0M=KLV*TWPf7exw)!H7$irEn08NZfTM>}zRSvG z=X{zsnKCD7@yJRr`HK$0SX^8rSS+DaQRAgjR>_dPRMKr=W>ZqQGlXB9LU8e9$4)7u z7Bysn*&|=A)Y#%Ad*NMcL|jX_Pm17rse$?$T=4$%3!)~3xVCfu_rgx<0+t~)?Oxtq z+V(2!A626^zLF(pfTRyDAM7PI1P8R5H3G+P3jDfL*7T7`s6maMwl>@5-?URmp&-(d zfmQAPq;6oT#HkQ{)}lUZ>m>U2k)Q+9zNhI#xB>6$@`~lDkfw_wm&F@|W9p9*o`lF` zvhySINexVCcD5aOl(={oaIxgj)w9+IUcZxQP3)56;#l9M-1V!MDSmB3j^Pzy3^iF`7cAs2YI~+G4%CLX6=sgL`y;FDV#VQqcfn`a|It!iCogMCCIfIQ~+g^A_ zR)G`vfhd;Bn|md&N;8AUTP43*VXc?tJHLDhHc(#NIjBOhEHJAxp0URk-Pn!VtvE1h z?VO?{1|YENELrP`U0;jGYY)jByaGp_wtBEMY#ZU~wHE)t}thZXwfetT#l=$p{s z^0rU@=}oU%;pE%JCd`#va|nWa>dR`8-AYpOEjH=lTSbF*!pQ`ugz>!{u_f9l*g~?| zp~9sMn0Yo1Uc3|Ct4id8h%oO@t_SLWK`}t_R@T%L(i1y13sNa2cF$#aq*rAytSWx4 zy@Rjs8r;u9vdYfc(vcOm7nj!wv40&|X{x|Tu4Lgo zj96G&VnQh9xAy2gCj&o!RszzlX5xtF>eZ{kBF%hVjgN^Yyp{{N^*`d*wUZT6%3F0O zwH{3aWdSFCv5=NoSb&wvTp!um%$y~59I{q& z{>lIrjwJc~kM0g%nQbloU2540&ZFGHWfA+Ipn=2P!Pdq#r*N~ z2gz{TC^7`y+dMaSrB869ZPE4XEB?pin~;%h%k_NFSF;+fBi|k*Q&3R+T^+mG?+S1L z7fEetZM`J!+HNll4LVRme58+i@Dce=+wykzPo@vn+Hl_814xIEfY?+++b&AC8M&0r*Ue>;0sL{oxQx zn(4Y9?Qd^vY>b}fBgI7GV2=vlivOcWRjRqup_r0`o1|J-?kXreZZ*5i%?+hfArl4H zeKMi3n(Io;$;mn4q(OaB%sC*@xP?Mwo!lmlLZ{Ba=27)5_ef%6hP6f0so|E)Pev7o(wdXi=%KsUF#T*-2&TBX(3vm1L z)%Tym1Gis{ra?@UmzJ0D!s_7-wM;@d5Yn^m{x_%+#D>8)>LLgkSdPTPUm)?8=%Hc+ zb_EE-Okcqw!AIq_x3|Y}>JVPNZY~e0uR&oV|; zI%pR`$o6g-SR@tHd3;{L%iIdOK_F&)|sMOs_LXqB~j@657XA2Ae`CPI%Y(c)gcX(MqI?b^!Q&In; zJ>)-qK*~S&=}DV`Qz|@iba0UN-FG$l@e5cC1|eIj!DF>#;oCWy9q#5{)XK4g%K$r- zviSM=H}vcz`T4%|``2PMVs}hwR_j46p5keWLQJO~vX5@_qsh z450RuW6Z3@40#e-%@V=rh91TMSEk2xKCv7Vj+5Q8wgd0;=g%J##el`dMUVhkR*E`j zDb(u8gQIrjH$R<-Rg&S-cg~Qs*8fnWjaEu}qfv&o$Q?2(AvGJFS0N!G0ZV}LF+JXq z{NdSz?cK z&Ox`803(Zp1YI-6l$DPWJrg+rf(k1uLC)gZmL>RY`67sYFjJ%sbGB$RGc$maCbvr_ z*5*SoP^8zxD7F7XgNzb%jbzE*q=c+&Y$~-!*GbWV<1+pQ{%fX;br?}tH${zL^2pYp zFJwJ9jHX_Q!LrPsKnxB=DK)_qGkN1?#Bwhfpn}%^%CKZ1XnOh>b|7bVB9)5&8h>M! z3&*)OrcaT-Gr>$TY4bdij(#msA}DDspduAVmy1gFGRb z9JNZK5z|KbyuIom^=8z=Ch`$~aOJ!sx|gBe($a!oA@X?4xcA`Mq`6`MY?aA)K1M43 z8||-aq-b%tXO?Ce-@jHtn}Vn6NyxK>&{X;No2|;8uuMRzYY7I|>g|5uElH;q)ONeuzZS%7kM5O>f8DE|=Qq{V7(8jv_g1N6hXQ)hN@S3(O*;GuiA)hv z7KGfCe8iV#A?cWZ{qno4oL<~XAoT61eh#52Hd-*plnVe>FA)_4+xj~ADyUIYvO!tB)){mbCemLsjQ4;<0>yI0>|oUyb6Ne zRG5%TTN-kjuK>1#>#x1> z$nk=oTZ`Zr_glwKtcfJv!VjyLEjF|X$)mzUf^pE>NO})<)6XLU$th>49U~pKf(w(Y z-gwt&2+@S7jV*4Cz!0)P-`6z9M5)y(Qt*Lhm|HT5L9uKE*%C+#G1oU}aNz30#Z<8* zJ4~%n(KVs~6eGx@W|1$>;syWiV59K()k19HkJpGhC#$3IErs1V`tnEF`0UE(8ExTn zV4p3rIbdr@ClF3@nMaf#{^cr8s>a+FYKp`HLo`>s~aVc$E=1ZjblRnMJzV*2Xg^k-lq<*F6cIjBG>+xDuZ6LA2)lwwK{ z;x9z_IHRCo1qe+|-pFn%${u4fvjFnEygW}Jb|oYvSPe-+@lU`?>O;F6P`UQ@yGaGpt_c!F8TMT`KYFC z3*z~-FAfJ)Gnq&p)p5$sh+=x6XWv0rfaGD-F_EqM&~j5#F6~V)!n^r>#KxA1)b0-AEKT! zQh#E*NQ7MGZfRWG^!yb3!D&i<@0=~zp7V4k8Om*yE0bbtlYfU z!L~MevE>bDe8Oe-aR6wX4r89F2rQRvdWfYzRO1x^XbX4hK^2{9-(wNOBk)1 z^ucd|P*e5J&A;Dn@^;h&fWo4{tw03O$?WEh8**+6n#Hz+?C99vpc9|1B#_XHe;6y7(>Ua7@XXo%k7@ z77DgA;94;-?2iCw$JOa;YBudWe+&f$c*U%0#(OlO8t(_13^<|h5fKq#Wwo4Xe+B{^ zMB)+H;;;PtlhSRafVoi!qgA_gEtfn-9|C~#^D_Zm8`PUm;|dQSZU6%xv=nMGC6Q7M zeAUQ`&QS>{Ep4AaZ|Z#`w;F7fMAq)bpF<-w!uB*fq+mDv^S-EV=?D)SQG0b^J<$q`;p*9ciG{^isHbW`>&J_;?r;p!N`LdqD#THV{Gzg zJ}X9gX^W_CZ;q~RE#u7_LVg5aLqP$rs2&5RDV=@qDKPFu)9_~&6hse>KtchO$S7f& zb;@(jxe7n84UBcp2{p@wHS)XHZ}tPv9F$X8c`qQ$9TstPw(fX;8M;AgBTv)i9|Z}# z#&dNXUHo|}ITQojH=FFO9|7f!wG|kxxZI_WArd;>_^oHy3TO1ue2R418i3F&j)*n8 z?i2|TErzReIG!GV7Boy#b>!Q@q(VAAn+u+B<9RwF(xc|-{;_0Brm=<5lokWvJ&<#8$`xWtCN9F%neM{ zU`;fHgcuwPu-x6>Yh-vBH0hmgkqMBiKIP>p2Q>YyPo-m7>djD?qQnEaFyk{LhkUZt zI~W>cW}b$9@Y-mlCa5$(NvMY7cvg6<88wdMKw>3*U<#@X<#$p15I*)8XYa3AcL!F6 zld6Np{W6cs7O2tql`mp>XOKnrNX2i*ozeuts5iB>Qd$Z0AOyp_T|Lm>#z#v!AkseO zqb3_5Io*PMqMV!Ia!~sTRCiff84!_AFN#50fib?VG|XNaJb#u+h?LVL0-GxT>R~z< zT+hlEx_$t^F=H@H2I8z@71KP|Ju&~|PbMoEkh4Lf=-Zj_$AArz!T)gMb2J?p;p5nl zS#L`A;4``X7v9~h-~7S}4GToWsYo}npB_yjra!JbCqINSlAi~J(wIY+0_{k4lH$a= z3NWZaUn8+vnYB|9N=7&5UQ<(D4IUi)N=iVZDhUiYsjnMCH>F3g{(qn9vy_)kyR8;wOkz3VA4_@!%-}i~M%KnoRA{-w}BD`R?R| z*w}Tr9%NejQ%`Zc7VeJ>!Kf1u5DNHW)5I1xUTxct%A*U9CQ8h&o10I=qO}1f0+wd) z)hci?-G?l6Cs*~H{aw6(Ye0SE8`UO}mwIh4fvpwwXfZa2NU`$rWW(mgx!~7;xMT_LN|n-oW!a59cVDaBIR;hR`|r?wW+o=cA)@!cUNkMF8=;Yx0G2?WP(FAqZa51L}Dw{tIyfI$WT zop4)hW&MY~<3kMC=W(SuV@Vt?J&iRpH@CC1+gY1Pi;w>?G_(gI{l++U;%2XuPbW?I z0qvDbgi~M|sCQk|Ogpm#A!V$ue-m{>MTKJW&l4;mm3KNe51c2EhrfRP+MO&CruOzM zUi$>t2CDp7*w}vcBX1X6(s=w;R8+u(pslVB;K16t5@>mBV1hiYT1?jFco*QtJF;e|?0l9abFqecIl+l*C#U=(OUHeHtsDmHze zKu_B;h-C>rJOX_dIV;$tSChb#%N?lh%caE}0b! zDAtS(6!%x#9|UAjdKw%y5;1&QtzL#KYu8ws8xCc8{OC`v%=QUPC1B1)A9{*z(d1V`$w@65LPtWyeh2p4-V$auZf(M6O9y^`} zs}lOLxK_dmjaM<@Coz%0m)t!XlCQlCu{wJ64NP+&pDY6`-Tr<@jadDjy;y+B1u3r& zCWF;r2wAP&F=~{z)F{V@GDmp;9q(h@G`#_D4stae%)#Bavs(uFaMHO7Myvk9p$!|k zR|US@oWP=>6-BGt`~l%G4ijc3ubfgo=ziFsN9~*@s$KYg)G9 zJusw`;6#|(rdX@T9AnKe?aVQw{+J`I85oLZGasOd1nu{=i*J&}B_tAf4834f42Ohs zUD_{}ALrXWg6!N}m(HJ927rX_i(!^%M35tRIbXd4yTK~VUU(ZELFqYibqM0onm2sR z1!&HQVeseApMj&FVT6aklPJB~^2RHp5c!OIFy#PR_t^9jl!_Tb(U7T~1C42NE(pVO zb5(|AR#@LaXQ{}T>mB9&De#PD?8h<(i?s`PVSy)LC0v6AU|wKG2S&J)l(IJVd;ph# zIT^-Ssjp^Vb5kf5y?8oBwQXVzis~*%=|%hI41T+&Ftk|2Dg;~fjwSX&S`YQ5OWa-M zFI8sq#ZzxR`kxm-w~Qk~^GcjCz(N-n7hm66liW)-<-_V^SwUPdvjrksURl|lzpMay zGLlGSNzuV=^xpZ^)p~zhvCa!{{lB9N3b7mllUJC+4V$F%CVlAO7EphirVzuH5^{r+ zVM*zWDxd=?lrtdSK_Pr_jGQ>wgz*)euoKINo@Ay`kkkjbb-Ze&FGeIjdlpz7il%5j z>y4{?>lUf0Jg|+{7azlT0FfJ6qmcixPl)_nx0aVzbu8VatcmGW(ICMb`@9~xII@mKc&3P9zjHA zNFp}5&Kfod+5Je5XIubJ!|&;N@M)!I&K3Z|AMe+_ha&NLCGPg_)AT&#wO*b_@}%g| zEUqZErJ+@gb_`H zHjo5cSLsC(;A}U3wdNU5^0o^mcb9VM$;rvRnyCxG>=$94TUNbPu{1ShT%z`*pr&T; z+)YfzN9|2s{z^oyrKs2nRh7F;IURmJemoxsEMlT<`94@Au5u=H&dQULOMi}Gm>3?u zQYNp9l_Ubb5FEE}rw5SJpITp2$B#*fwGcZ8DUdhaDo_WW4gC67Ibk=%aRZ8(>PskY z;RYa;ZxOMTWQqO)%Rj6Vs;VYrmINm2Pr4PfpQU3TaAnLL*C^!&Q8&&iA0jS;n(C zIN|worfmybl90^oYUsZ^a&p`Li8;?%H%$O3Ks+bxV__}gB+uX zv&>2`eiJ$G$9IOjG+daI^JeuKS0Fh17q7_>2D5KpJlmdy3!pkz=Ew#Z11d+O4E34$ zd1mU1!Pov-EL_*p-q>hd$_slG5UcnBN@StybwQ}nG2lXC;^9%vJf(1sL{Ux-2NwYY z!aigIRld{%@+Nu!u)%-@VKFk+K~4k0_NKahSrVS{rq!FqdEsj%_rF z9kmsAxWFN<)&ML?$;gT(DFW(x1P&UN0qK9qRlFkv2XYj6BF$`vO)de56-`Ft#`9yj6f43llRl7(lK+y?FU} z2;nEfj-n76jGRJ-(&e;@0-@9FN|Q03;SHFXnfdWU+cj0T+B87(ZMF?9o-CRkpaArI zXEB-RlPj-L5yE(_3xJ2r+GcQh{31Y@Nbx?}4>1k%P>JBW?yj4{XZzEvf0bAZ|N9pU zNr77of56L(h>)_(4Vh&1am*nBCNcra#azkp@t;fW@86%lpXSS!%IX00%v-IebRw$& zvH_&r>q369e050xp!1{9FtVO@0jPW`MOZ-?^j!Yc8kwp0%LiN5Wc*%d<{8$wPu(DV z=$@APXzs$<)%S1Ty`z|7n@p{i#fOD+Y4DK24*Yr~2^2NR{B6^~xWn)POkuhdv-Ks1@bMhUGEGTLiEJNz;@9$R>iU8FY*kZ;Oi>n!>vLB$h-MSU!siX={ z>6ZCW8uXva-SPuU^Rgk}h~$4JYj98ju?ymkH_@pg9CCjTY$G(YhCNwWV_$$BEkfc0 zBV$))de(s?uBm@sdC6{U0)?1OZ+Nzl%TrTP!Cb~$AM0=&@EnwFi&=o%PeGIsY%-$< zjGyfgmcTcQ+1V`o*S;cn7ZB$vgIaF^0s;a?gXUiEF9|hwYsQ}H;XT`V3)xILRNed9 z*KnN4rIfg1qCrERLD;?!pKt(X`;WpmXptN12S?{46^mUet9GLMtY7x7p9!}>^3vwM zJ5-#y*nOUg>W@H3&fv25EnOtM>}Z}s5p|vzdL&2=t*zhS4%v#^kKf5G!kh>{qY=YG zP*6}{aIq&D!W1~(`KIq6Z1OZhe4f~;C=UK*y#H)1CcQH5=1&^JU-R2u(Mrq{$@tkL z2iHl-e~l9>YEUVX9rl6g0A!JcOSCzf;M*!1-k%miz8&cU^VDdl+vt`IX$+hlUKqYg z9CWRb|80Ie1~Dgadv;rGHMF_LGT^cdf*2y~kS6PNT>~}{NZ#)l@>n`SL2yVx!jkX* zgQf_RxcC&lHUI=@AE;jNB`S2Jp?h2NXPA~{5;`1!!)QNGMDc5D4{Wy;Ksy%bS2(Xd zZe+ze?xA5x6LF+3J#I!jCBn?+HhNes-ZD8knfv@rAQ7%#Z&R;6hLS8J<4>-O`Db1%_Xd`n}uW(}C|nA(cMgf-tJ<>cXSjB+>tR z%SqaNQPOjLIz~p?bwT~koqo8>gS9^}Tmm!JKqPpBr%>T{-J}rm92&{wq@>^O61V$x zd|83s0Na|&r8m$zFt3JW(0oDE*ZyL_;X4AO)|=3k7?$_TJp9!H_DN{^)RF{k!pEpj z($YU$SV+)J&^pkpVkuu?5z-)2yj!W)exJjklG~q?o!!2cE!l#|!#pkweuE(ZJ7@pL ze*e(Rz`&rlC}a?6Uo3C}N@(0z=dIQz&2OA%lY{}F=Jt-va7r~pV)40k?;!!CN>Lg5 zZ1|cG_zsuU6&W)`PVA)42>3i5M34sLA)aih4Idd{Gr+?z=?ommUo*VLQFSoQBOKCX z2h$wyEQFD3C{tZ`P*ow#*}xZ=;EI6(rq|ddF+N@ih5f>m*GV@&5rTEAjSK~RwCIly z$q|a6BjoV;gmm%ogu5~&KGN_^mnr?2Q3f9dHg-jH*>L|YLX#~Ljz0P0!Z`ZN)wAT- zJ2`q`$CMuUk`_K78`nE%k7@9l?2$qe8bP^SRmJ}-jvpW0_C7G;et!pSDa4RE47{Ul&NOi&Kd3_L>Q&O015?E6zQ-6ltZV~SP&_eN+E zhl-ju9pK1!tzR|qomEE}<6*_nI(lO;-3tEA#6iL=hkyXw+09hRfhQ!{FXuzPPrsNK zlDU?);%{JZQTkE9dNj_xcq#Yaulg590Xhto-M@7Dx{OS|))hB#Lp{A=Fm_5=etF6G z_fE6G*;tbzoKRC}>vyq}hv0H>sDQ74__NilSMV2{rv5ND2-C&@%wm=h6cL~V0C8C5 z7se|@3{;baxq<2c%dLVV2Hv(;R{BMHHnDTf7#wJDg6#g+$8TfcjpH*p zQdGnKGN8H4kWf>wF^_{M^jPBP=+2cm7>WS3B1znB39T3X`t@t5ekMx-;YB$Aj|729 zIeuS9G1rqO0|P!n(t21)u8Ij*bg0SLq!P(Q zT<-ARiLsh~HwEZz`F5cr-l^tU=d<#+*!mkV)JbommCVUGUwTVYP*QTAj~rZ9%t4e> z2A81=dh+B+qc1x+L$mr8oT~`^*r8;C7CpU@uIU9S87rV(ZAjZWIC8J4g*vye;tvf5 zq~e34JSya=mN^27_NcU38f0w{MejO-ihWid@^@-(Mm-_qD(deWU#$PH)~@^?%Juy} zW*C&17DCxd3T2N%h@y$?ipUmOk|-$@gG5R>lqK2PY{yb)Lqscy7TL0eEFDWa8kxp? z-_!XMz8^n$)eGZsKlgKA*Y(~;W6d%mak9)1-FRzkc<5y*p?Xy6Evl`tlIKP?N#Rz5O>X{9b<3#@B zU)`236;&QpC16gn(jiBjKW=oWr<;vcOMJk_$ot$`5U=NqQmtE+kD~VICy7~iZcZE! z7znm*8n+m-M&(q zLLFRe(BGC#_ES#T=n%ETz$j$NMu&RX}9Fn*{5D&9bLs_2Z^r zAYjYd`aR&ixMb*#F1V!u|IA%2P+x=w^6T($?lnp-P~?jB1-J9^raH@cV|5MEs7D3r zRLoGX(a~=q)9cE%@7&2FdGoNfmDST>zGa(kTX%MK#j6m~wn!v_3u@;oA^=Jwe}5%~ z!~OOtXGU{l@l+mp*PCmYi`*`_nLxJU(`7RqO0f1^9W0vx$f&08R!Z{xO+K`D00a|JWx;u!R;8l}*974Z%QQ)0FX;R8KdR`{?HA^bymFN-@ zby3qjNVBzpPp>%oU!qd(GG>K;&*PbyWAeQrG}`%2KjS4)PUjCxx`NqbGNw}9K_em{ zL!hDmuki%8G?#^$RO{*=!1Y*6hCYDK{2jy-F#(ECGjUQ2i8mL;7_Wb^yQ|na8@_R0 z8od1N&bk}-BIB=F2kI#9KG|6?eC$-Z^U8wE{`i5+w2S+rpe(S?;K( z|D;8)<;Smuzl#>XgG<~RZeDnyDZ!`tSy5XX>+mwHUGdkPcw& z_1OaFO+GI{OG5TST^&(p0a>@9HnA&dD7XqqWd-V!>({QmnU}ZzaC4>E@nIyzV;XdNUX=OIwtWpqKM-^e_V?hcgeir@C_ zk-NAIl5S!9#0y99pVp!8YL0P67#~on;pk{UYM-IM@7S)oMRYos!w98&Wi7qAG9RIN z)*-dq^FDBrSH54maOnxvtiPK}GVCAK@8*Y3o;z@09yuL+agl%amjPSq8c8~dSU(G)S$yarm~!l@=%)`H$js+5xFJtW|8@QPYAc~) z5OI~|{Ha&3o);%%X-;3 z#oQ?7d~Gj2V0k1hQj@J-hmZ%6J?t~kQo3m6BI?4zXmAxIOANt&W8X#3-V#Z&5=g%) zDKS5?uFA7XM8<^7xZNcZjw^I<4EU!*b)aPm{-)ylrn{FgUQSN>KPGdL?Gl?6LA=*#Ap!y!R%1hA820IQ=|PL@l4O?EZ-H?&5r z_5;8{w9r4h=Yd-z>`T-$IOoBGecPVH+J9wh5$YMxTh{$2@auqbR46BlT!?W|<))Se z6T>EU9Fi~_0WbBd+PpR3>>p1zw@?2n5&g6bMm4vFa|a;cgHO4jz~}SBK=fl5E?rt^ zuU%;C?ydqV9x(-8T6Hs@fl9l`dRf_jkP|uDnv0396d6^1e%08sNFVzS*!!aRW?$q6 zF8X)Bm0e6ARGlP82!q4dTC|2>&_DtV8rg5N^H|Z|<1O1b*7H9}p~)nZ!a@6ML znwpy3k_S2MXp4RXoVg+27Cj)tN>H@kMnU~86RjwMemI6Ai}0D{Q?VGeww;>Jc{zv$ z5Zml~g;d2!fZaq2s6j%Y@EmS{rdf%CzrX*aBNOL!%d09_2Q4;O@_JP6Z?m}vKJH(J zd;$P0=z(=5Ezr4Qo@D&scvAs_;#b8dJnfGa;Nm`H7U1ZZp|)ziyKjM$>;m^57A)iF zldaOcVKYOt*&U4-a^}L8qkFxsdhnbqO}Toy9>G1;*~nI%huR>C9StyF(I%6&4wr|S z`bOQ}tkW~EK}6!kaBM%AT0R1C0&^(YLYB6hM*Ggtd)VW@+3d`~EQr4Ou;uUxPH|F+ zXqcYHbyORG^|^!$3)7M=8V@2$ubw6K@J{HW$ZW18Suufg9F5FexBGNHdZs|Q#^Xw2`5@-B`WL0FuvtKv*+4!R2Hgm3iiLlQw_b2AI{%*{G~%+QwWo)^Bc z-8xg#GZD-vCT3pX;HL;l>Y~{3{5)GQU_cSg$;y)S)I_*c@DCv*7LiV*wAr{#&$hcT z!rnQ))}AH!bwCUzBn?53iV(;&Fbm-YiX;QD6Iy?Q@8cLqbB}59|}(Vn6$l zOa4Q(a$omm@#foSLThHvG=63a7d3M4Xd>drCMLGAqjA%?eYI?@-Ez!678DgFXSB1y zb0N?sL|;n7J5g7hyT(d+gQfhRLk&}o1Ko7tn)^X!+956-aU z((KxW+0rxmQeZ@-*mEYdB$$-`He)M3FI3}tr$$#R^`@$gBX0@xb5>RsQqtz<=dt6J z;6O(IgXbK)X3eSZU#5`h`SWKm&(EP+HcL51kXvTz^G)!%7I1H-x`cOr`V>6$YH4gk zV1FGK&$*I%3rM-LAxwJEoe529c_-oyl9Q7;DvtK{cJ`=={`}XBqbW)U8XZU_R<2(u zo+?ZHpJ79Rs=I%3s+X25R|8I}w*~kV%+n9OS|rVvQY#>0|2DPfm3nk0{DQa%78Vwa zy;1^VY97F<@%K8`hO;=VZDW1xid9mxz#O50g8wzv7^$Qhq5AqEGedtnls}mtS8OCb zG!{4KGJJcBmW&Wb+0q&G(B(K_pnpOs-ai4cK2uMa;9kWeE->sI1tNWqg#{$MkOO~* z>KLaY5GH*nh-gWY5x)bU8^=LsY&oi@0eBRLHP9Mb5^U{2m6e4E?2<1W7BXQ~-W&hb zz$fn!Vua<#;s?EtA$q>~uH)0E`vC*>@Xq2Xx(vhzg17u}nwo5ku>N;HNQ@Ok1EF<%Uq}C{&rXDyS3Ai$LGuV-Ql* zb|JTx@dFFMf*%zrK0-o55n$xESQ!LZ=iGj)vv&lpdIV{j^_7N(g}Iy>;Grc!Pdy=_ z*}v~ho)R@pO;H_7UW7bMQ&5wzdD^rr&lm$MUkB=Ooi z>hWnQDJi|}%MgVe1X023Y4155p6Pm`xUev3#Mji^{LU86FVeWdFOT6SviMccHWV@? zW-;S9PiRbN>RN(o3#49w9f$}_)7leTR?kR*lKAQrL!COnYGklYQw0g?4l#P_K>>Rk zo8*sPThqdaVjA$b13qBYtOt5@YYY9`iLvo;Jw_+6Y&MJWo?S4;C|S#VzS3nb%mS9R z-SKvjciN#r$HQ0D%O3VRTl+4KTaD1qD!Op-qHW7lh1L)I{9k56_zv}0Z7FsnL>jU* zZ3LW=OzZbt(>Slg7f>@axjMY9r-y~xja_^C*NkaxGgQa2uLlB7Wi0+}5-F*+-7qq@ zg>zPU4Tk*t&SW?wa=s@K$u_t2&eZ%?(AB-(r}l~sFnebXM?+Te9qI-o9qmcF1se81Wc2OlVxolSI34JqEKQ%;*@85;L>Z$YAzmTL z>lqnUu1`s{q`jri#dYz|!T*fQJMf5ab3QX`x7GOT$OxiY-!Ma9{D3SB2Y(A{L^vyy zM=<5E&%dKAx1fNwaI3IzcluKTMhjeuCuPvT@5zB)r?9Xv zV2|P9;SLU+kY6ZAq@|}9)ae0Y4}V29s8gfQEZ)kaK<@CfN92NxV?_Q!80TlKSCn|Q@ zhH{@wbB;_aKhNHA|9(#Hs^@)S35g?!BQQ%}CLz&-#2XhE7b~kk^d_G7ond|fSR^Et ztK=${10_vK)#S2;-ylJF&SmmkJ$sfrBW_XyP$A|l8pH=An!dc1MN2FrHE z=R%4a7mACDE(~YO(CN)f5K!!~`FbCO2DV31KSDAi>@6s`MUKKl@q_2ocgq_9*+s=3 zP^|Kc zg!6gj?@ZcFE1K4!M6TbabN5{#RIc~j0sQf-i^vGhiLbp}pW`qx++8JrrEgPT_QrIM zVvQn&NQJ4D9`sd+W;mfOQOWa#Bh-0%T(C~q!^0!4$2I>PmryGBzeD8?{bUVMfgo;@ zSe+Jk$s!a=9kHIFoU!*nho#hz?zOP_^+-@;5bO~V-MZ6w{^6k zB1$b*3r#k32XEjT;gM z6w9%u8?Qa$&!4yY@7qE+-!`=8dm(HRr__z869$y&rlv3GdwFz>VQ$bRz8 z`7=`{dlCJPNL9vQQNLPHF)j>7vlS~=#91x(P!Sau7vEsRC%56TuXkk^5@if7E-!5V z1}FH#G7qG4)mQKxMLIKrF`aOSRrWlUOFmEZ&qAaN(8~Ja!KI}RWWE#uX;$l+jRuVG zcxbb=c0Tpb{1aM+DbMN}UEjmg6WCMCyw#2!J6ac4l$Mp1al#wvWQVHYO*IDFDbuCk z$t_*f{BZ3GPNH*-;OY<$yGts{Jg>XVjl7e8?)=^&7P4QASQ|L*{&6c7kV8)|uh^go zXLt8CN0?MQ%Zt3zzCJ#Wpsh1fGxgDc2_G!JlXYq(W_f&2Cq&T*nO2a0AHfU-DQ7_3 zWOb+CTez{P%J3hfam7e$6gUEm05xZKMRb0YV&=Tk2lc&h*ERIa#nR+}zv{ zr@vwHQJe2Nf>;Eb5@cDq3~HM<0NQ=U`*-p?r|c~%{`+r%cgEpe!MN*J-gyf=dWpPZ zonu3MrX~k|sd7Yrv7Zmt`Dy0ezHN1yt_C6-ia;YpLKbsRZ%u}q>pm(jKYoHR`_4VU zv(F{xiA59!0ZV=YT!^i()8eWge-+WkRaHjoh}MTf8{P~b+csTC=9q#W3xckKe%q2O zXcNLO4f8j5_*PnT;bq2lWpYCOy_W!X19C1+IIVr8xj}Y68U8i{+<)*SyzC~7;xM^Y z5H31!vM8K61Ja+1@F3jl>_`R}*=^1(k*4fGWYZ6`rBEaEt4gO$v5&3HfzUyLUZO=o zTSN)joY;J5aj~FJ9i7L=MY^=#Z`+l_biIYSgOUV!Fi0D-uL8i5fIe>$C2B`&@S+;_ z0uu%yQL>6kaMd;?rIM;DosP$0&@}q>J;_uhEHAreSK>j|)Y9U0tPDgh3~<2hgedk> znQPI=2X75L7^n!ipi^q}=0g|a;`j<{fC|HhDnoFNCtJLa0stt>2|IW9FW?vW3CpXl zM|l$;IhBB{LlPyuRt}L9@W7{BoV|*5gUJ9{opSxchH}XTWo3yY+EhQFDSB2Q39j{C`RDjfuS-Y z61k#SXW)Z7I6L0fsLwy-yaqpR#x-ypI}`uHDo~)H&Z+Ft@~YFM3Q`F zN4CBtdL4~{hk*iaYcRKOt9n~Sn?d;lS z7pCAiMr#FBW3Wx1ub~b^P%tixo(A(U;?wWL-GXN2$GA{j<5-ZSc2ItG^>2i+SM}~E zXPT$N!;IV&j2y?=LiH+^5a(K3-^1|ojTMn#JctU7!rIJ|qUw^JLI>v%#)HEQvf=Q# z=>c%w43;L^5;Vz4vgmZca>XlTQ$yb)jRZ*#v?N>yGM1R(IzgkY5KMy+H3y>%04ZpI z$M)6mF>IOF3^p|Lz`~y}B8vCwxYeHpymLu>Gs0vpF(ddu1)JxULp5K;(L+D(V?}h7 zxf$QI%KLz=5gQwOoXz_YQ8)N-N;!vj@*s%BKmYsxe@1c;KK@6a4Zt%K=w<#lpKbq% YNHH;6wpO|uDj$NN?KIy}V(1$6e+Gdb=Kufz