@patternbank/core 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/constants.ts","../src/dateHelpers.ts","../src/spacedRepetition.ts","../src/progressVisuals.ts","../src/progressUtils.ts","../src/preferences.ts","../src/storage/logic.ts","../src/leetcode/problems.js","../src/problemTransforms.ts","../src/projectionEngine.ts","../src/sync/merge.ts","../src/sync/reviewEvents.ts","../src/sync/fullSync.ts","../src/syncTimeout.ts","../src/leetcode/todayCompletions.ts","../src/todayView.ts","../src/supabase/mapping.ts","../src/supabase/data.ts","../src/leetcode/activityData.ts","../src/leetcode/problemLists.ts","../src/leetcode/importTransforms.ts","../src/leetcode/reviewActions.ts","../src/leetcode/todayResolver.ts","../src/index.ts"],"sourcesContent":["import type { CorePreferences, Difficulty } from \"./types\";\n\nexport const CORE_PATTERNS = [\n \"Two Pointers\", \"Hash Table\", \"Sliding Window\",\n \"Binary Search\", \"Sorting\", \"Linked List\",\n \"Stack\", \"Queue\", \"Tree\",\n \"BFS\", \"DFS\", \"Heap\",\n \"Greedy\", \"Backtracking\", \"Graph\",\n \"Union Find\", \"Trie\", \"DP\",\n] as const;\n\nexport const EXTRA_PATTERNS = [\n \"Intervals\", \"Mono Stack\", \"Prefix Sum\",\n \"Bit\", \"System Design\", \"OOD\",\n] as const;\n\nexport function getVisiblePatterns(enabledExtras: string[]): string[] {\n return [\n ...CORE_PATTERNS,\n ...EXTRA_PATTERNS.filter((p) => enabledExtras.includes(p)),\n ];\n}\n\nexport const DIFFICULTIES: readonly Difficulty[] = [\"Easy\", \"Medium\", \"Hard\"];\n\nexport const STORAGE_KEY = \"patternbank-problems\";\nexport const REVIEW_LOG_KEY = \"patternbank-review-log\";\nexport const REVIEW_EVENTS_KEY = \"patternbank-review-events\";\nexport const PREFERENCES_KEY = \"patternbank-preferences\";\nexport const PROBLEM_TOMBSTONES_KEY = \"patternbank-problem-tombstones\";\nexport const DATA_RESET_KEY = \"patternbank-data-reset\";\n/**\n * ISO cutoff below which review events were locally pruned (F-3). Merge drops\n * cloud events older than this watermark so pruned history is not resurrected.\n */\nexport const REVIEW_EVENTS_PRUNED_BEFORE_KEY =\n \"patternbank-review-events-pruned-before\";\n\nexport const DEFAULT_PREFERENCES: CorePreferences = {\n dailyReviewGoal: 5,\n hidePatternsDuringReview: false,\n enabledExtraPatterns: [],\n};\n","const MS_PER_DAY = 24 * 60 * 60 * 1000;\n\nfunction pad2(value: number): string {\n return String(value).padStart(2, \"0\");\n}\n\nfunction formatUtcDate(date: Date): string {\n return `${date.getUTCFullYear()}-${pad2(date.getUTCMonth() + 1)}-${pad2(date.getUTCDate())}`;\n}\n\nexport function formatLocalDate(date: Date): string {\n return `${date.getFullYear()}-${pad2(date.getMonth() + 1)}-${pad2(date.getDate())}`;\n}\n\nexport function parseDateOnly(dateStr: string): { year: number; month: number; day: number } {\n const [year, month, day] = dateStr.split(\"-\").map(Number);\n return { year, month, day };\n}\n\nexport function dateOnlyToUtcMs(dateStr: string): number {\n const { year, month, day } = parseDateOnly(dateStr);\n return Date.UTC(year, month - 1, day);\n}\n\nexport function todayStr(): string {\n return formatLocalDate(new Date());\n}\n\nexport function formatDisplayDate(dateStr: string): string {\n const { year, month, day } = parseDateOnly(dateStr);\n const localDate = new Date(year, month - 1, day);\n return localDate.toLocaleDateString(\"en-US\", {\n weekday: \"long\",\n month: \"long\",\n day: \"numeric\",\n });\n}\n\nexport function utcToLocalDateStr(isoTimestamp: string | null | undefined): string | null {\n if (!isoTimestamp) return null;\n const d = new Date(isoTimestamp);\n if (isNaN(d.getTime())) return null;\n return formatLocalDate(d);\n}\n\nexport function addDays(dateStr: string, days: number): string {\n const d = new Date(dateOnlyToUtcMs(dateStr) + days * MS_PER_DAY);\n return formatUtcDate(d);\n}\n\nexport function formatRelativeDate(dateStr: string): string {\n const diffDays = Math.round((dateOnlyToUtcMs(dateStr) - dateOnlyToUtcMs(todayStr())) / MS_PER_DAY);\n if (diffDays === 0) return \"Today\";\n if (diffDays === 1) return \"Tomorrow\";\n if (diffDays < 0) return `${Math.abs(diffDays)}d ago`;\n return `${diffDays}d`;\n}\n\nexport function generateId(): string {\n return Date.now().toString(36) + Math.random().toString(36).slice(2, 8);\n}\n\n/**\n * Parse an ISO timestamp to epoch ms; missing or unparseable values collapse\n * to 0 (the epoch). Sync merges rely on this guard (F-17) so a malformed\n * timestamp deterministically loses to any valid one instead of winning a\n * `NaN` comparison.\n */\nexport function timestampMs(value: string | null | undefined): number {\n if (!value) return 0;\n const ms = new Date(value).getTime();\n return Number.isFinite(ms) ? ms : 0;\n}\n","import { todayStr } from \"./dateHelpers\";\nimport type { Confidence, Problem } from \"./types\";\n\n// V2 base intervals based on confidence rating.\n// Explicit 5-star reviews can graduate beyond this base interval.\nexport const INTERVALS: Record<Confidence, number> = { 1: 1, 2: 2, 3: 5, 4: 10, 5: 30 };\nexport const FIVE_STAR_GRADUATION_INTERVALS = [30, 60, 120, 240, 365] as const;\n\nexport function getIntervalDays(confidence: Confidence): number {\n return INTERVALS[confidence] || 1;\n}\n\nexport function getDefaultFiveStarStreak(confidence: number): number {\n return confidence === 5 ? 1 : 0;\n}\n\nexport function getFiveStarGraduationIntervalDays(streak: number): number {\n if (streak <= 1) return FIVE_STAR_GRADUATION_INTERVALS[0];\n if (streak === 2) return FIVE_STAR_GRADUATION_INTERVALS[1];\n if (streak === 3) return FIVE_STAR_GRADUATION_INTERVALS[2];\n if (streak === 4) return FIVE_STAR_GRADUATION_INTERVALS[3];\n return FIVE_STAR_GRADUATION_INTERVALS[4];\n}\n\nexport function getPreviousFiveStarStreak(problem: Problem): number {\n if (problem.confidence !== 5) return 0;\n return problem.fiveStarStreak ?? getDefaultFiveStarStreak(problem.confidence);\n}\n\nexport function getNextFiveStarStreak(problem: Problem, newConfidence: Confidence): number {\n if (newConfidence !== 5) return 0;\n return getPreviousFiveStarStreak(problem) + 1;\n}\n\nexport function getReviewIntervalDays(problem: Problem, newConfidence: Confidence): number {\n if (newConfidence !== 5) return getIntervalDays(newConfidence);\n return getFiveStarGraduationIntervalDays(getNextFiveStarStreak(problem, newConfidence));\n}\n\n// ============================================================\n// Priority algorithm for daily review cap\n// ============================================================\n\n// Deterministic hash for stable per-day randomization.\n// Same (id, date) pair always produces the same value.\n// Different date = different order for tied problems.\nfunction dailyHash(problemId: string, dateStr: string): number {\n const str = problemId + dateStr;\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n hash = ((hash << 5) - hash + str.charCodeAt(i)) | 0;\n }\n return hash;\n}\n\nfunction calcDaysOverdue(nextReviewDate: string, today: string): number {\n const diff = new Date(today).getTime() - new Date(nextReviewDate).getTime();\n return Math.max(0, Math.round(diff / (1000 * 60 * 60 * 24)));\n}\n\n// Takes already-filtered due problems and returns the top `limit` by priority.\n// Sort order:\n// 1. Lowest confidence first (weakest problems surface first)\n// 2. Most days overdue first (longest-waiting problems surface first)\n// 3. Stable random tiebreaker (reshuffles daily, stable within a session)\nexport function prioritizeProblems(dueProblems: Problem[], limit: number, today = todayStr()): Problem[] {\n if (!dueProblems.length || limit <= 0) return [];\n\n const sorted = [...dueProblems].sort((a, b) => {\n // 1. Lowest confidence first\n const confDiff = (a.confidence || 3) - (b.confidence || 3);\n if (confDiff !== 0) return confDiff;\n\n // 2. Most overdue first\n const overdueDiff =\n calcDaysOverdue(b.nextReviewDate, today) -\n calcDaysOverdue(a.nextReviewDate, today);\n if (overdueDiff !== 0) return overdueDiff;\n\n // 3. Random tiebreaker, stable per-day\n return dailyHash(a.id, today) - dailyHash(b.id, today);\n });\n\n return sorted.slice(0, limit);\n}\n","export interface ProgressConfidenceTint {\n background: string;\n border: string;\n text: string;\n}\n\nexport const PROGRESS_EMPTY_CONFIDENCE_TINT: ProgressConfidenceTint = {\n background: \"#12121a\",\n border: \"#23232f\",\n text: \"#5e5e6e\",\n};\n\nexport const PROGRESS_HEATMAP_CONFIDENCE_TINTS: readonly ProgressConfidenceTint[] = [\n {\n background: \"rgba(247,96,96,0.20)\",\n border: \"rgba(247,96,96,0.55)\",\n text: \"#ff7a7a\",\n },\n {\n background: \"rgba(251,146,60,0.22)\",\n border: \"rgba(251,146,60,0.58)\",\n text: \"#ffad5c\",\n },\n {\n background: \"rgba(245,185,66,0.22)\",\n border: \"rgba(245,185,66,0.58)\",\n text: \"#ffd35f\",\n },\n {\n background: \"rgba(96,165,250,0.22)\",\n border: \"rgba(96,165,250,0.62)\",\n text: \"#7cbbff\",\n },\n {\n background: \"rgba(74,222,128,0.22)\",\n border: \"rgba(74,222,128,0.62)\",\n text: \"#67ee98\",\n },\n];\n\nexport const PROGRESS_CONFIDENCE_TINTS: readonly ProgressConfidenceTint[] = [\n {\n background: \"rgba(247,96,96,0.56)\",\n border: \"rgba(247,96,96,0.92)\",\n text: \"#ff8b8b\",\n },\n {\n background: \"rgba(251,146,60,0.56)\",\n border: \"rgba(251,146,60,0.92)\",\n text: \"#ffb871\",\n },\n {\n background: \"rgba(245,185,66,0.58)\",\n border: \"rgba(245,185,66,0.94)\",\n text: \"#ffdc78\",\n },\n {\n background: \"rgba(96,165,250,0.60)\",\n border: \"rgba(96,165,250,0.96)\",\n text: \"#91c8ff\",\n },\n {\n background: \"rgba(74,222,128,0.60)\",\n border: \"rgba(74,222,128,0.96)\",\n text: \"#79f3a4\",\n },\n];\n\nexport function getProgressConfidenceTint(\n avgConfidence: number,\n count: number,\n): ProgressConfidenceTint {\n if (count === 0) return PROGRESS_EMPTY_CONFIDENCE_TINT;\n if (avgConfidence < 1.5) return PROGRESS_CONFIDENCE_TINTS[0];\n if (avgConfidence < 2.5) return PROGRESS_CONFIDENCE_TINTS[1];\n if (avgConfidence < 3.5) return PROGRESS_CONFIDENCE_TINTS[2];\n if (avgConfidence < 4.5) return PROGRESS_CONFIDENCE_TINTS[3];\n return PROGRESS_CONFIDENCE_TINTS[4];\n}\n\nexport function getProgressHeatmapTint(\n avgConfidence: number,\n count: number,\n): ProgressConfidenceTint {\n if (count === 0) return PROGRESS_EMPTY_CONFIDENCE_TINT;\n if (avgConfidence < 1.5) return PROGRESS_HEATMAP_CONFIDENCE_TINTS[0];\n if (avgConfidence < 2.5) return PROGRESS_HEATMAP_CONFIDENCE_TINTS[1];\n if (avgConfidence < 3.5) return PROGRESS_HEATMAP_CONFIDENCE_TINTS[2];\n if (avgConfidence < 4.5) return PROGRESS_HEATMAP_CONFIDENCE_TINTS[3];\n return PROGRESS_HEATMAP_CONFIDENCE_TINTS[4];\n}\n","import { addDays, dateOnlyToUtcMs } from \"./dateHelpers\";\nimport type { ReviewLogEntry, ReviewEvent } from \"./types\";\n\nexport function calculateLongestStreak(log: ReviewLogEntry[]): number {\n if (log.length === 0) return 0;\n const dates = [...new Set(log.map((e) => e.date))].sort();\n let longest = 1;\n let current = 1;\n for (let i = 1; i < dates.length; i++) {\n if (addDays(dates[i - 1], 1) === dates[i]) {\n current++;\n longest = Math.max(longest, current);\n } else {\n current = 1;\n }\n }\n return longest;\n}\n\nexport function buildReviewCountMap(\n reviewEvents: ReviewEvent[],\n reviewLog: ReviewLogEntry[],\n): Map<string, number> {\n const countMap = new Map<string, number>();\n // Primary: actual event counts\n reviewEvents.forEach((e) =>\n countMap.set(e.date, (countMap.get(e.date) ?? 0) + 1),\n );\n // Fallback: legacy dates get count=1 if not already covered\n reviewLog.forEach((e) => {\n if (!countMap.has(e.date)) countMap.set(e.date, 1);\n });\n return countMap;\n}\n\nexport function getWeekStart(dateStr: string): string {\n const day = new Date(dateOnlyToUtcMs(dateStr)).getUTCDay(); // 0=Sun\n return addDays(dateStr, -day);\n}\n\nexport function groupEventsByWeek(\n events: ReviewEvent[],\n numWeeks: number,\n startDate: string,\n): { weekStart: string; avg: number | null }[] {\n const byWeek = new Map<string, number[]>();\n events.forEach((e) => {\n if (e.date >= startDate) {\n const ws = getWeekStart(e.date);\n const arr = byWeek.get(ws) ?? [];\n arr.push(e.confidence);\n byWeek.set(ws, arr);\n }\n });\n\n const weeks: { weekStart: string; avg: number | null }[] = [];\n let ws = getWeekStart(startDate);\n for (let i = 0; i < numWeeks; i++) {\n const vals = byWeek.get(ws);\n weeks.push({\n weekStart: ws,\n avg: vals ? vals.reduce((a, b) => a + b, 0) / vals.length : null,\n });\n ws = addDays(ws, 7);\n }\n return weeks;\n}\n\nexport function getConfidenceDistribution(\n confidences: number[],\n): [number, number, number, number, number] {\n const counts: [number, number, number, number, number] = [0, 0, 0, 0, 0];\n confidences.forEach((c) => {\n if (c >= 1 && c <= 5) counts[c - 1]++;\n });\n return counts;\n}\n\nexport function getTopPatterns(\n patterns: string[][],\n limit: number,\n): [string, number][] {\n const map = new Map<string, number>();\n patterns.forEach((pats) =>\n pats.forEach((p) => map.set(p, (map.get(p) ?? 0) + 1)),\n );\n return [...map.entries()]\n .sort((a, b) => b[1] - a[1])\n .slice(0, limit);\n}\n","import { timestampMs } from \"./dateHelpers\";\nimport type { CloudPreferences } from \"./supabase/mapping\";\nimport type { CorePreferences } from \"./types\";\n\nfunction stringArraysEqual(a: string[], b: string[]): boolean {\n if (a.length !== b.length) return false;\n return a.every((value, index) => value === b[index]);\n}\n\n/** Compares only the cloud-synced content fields — platform extras (and `updatedAt`) are ignored. */\nexport function preferencesEqual(\n a: Pick<CorePreferences, \"dailyReviewGoal\" | \"hidePatternsDuringReview\" | \"enabledExtraPatterns\">,\n b: Pick<CorePreferences, \"dailyReviewGoal\" | \"hidePatternsDuringReview\" | \"enabledExtraPatterns\">,\n): boolean {\n return (\n a.dailyReviewGoal === b.dailyReviewGoal &&\n a.hidePatternsDuringReview === b.hidePatternsDuringReview &&\n stringArraysEqual(a.enabledExtraPatterns, b.enabledExtraPatterns)\n );\n}\n\nexport interface MergePreferencesResult<P extends CorePreferences> {\n preferences: P;\n winner: \"local\" | \"cloud\";\n}\n\n/**\n * Newest-wins preference merge (F-6). Blobs persisted before `updatedAt`\n * existed get the epoch shim — anything stamped beats them, and two unstamped\n * blobs preserve the legacy cloud-wins behavior (ties go to cloud). Platform\n * extras on the local blob (e.g. mobile notification fields) always survive;\n * only the cloud-synced subset is overwritten when cloud wins.\n */\nexport function mergePreferences<P extends CorePreferences>(\n local: P,\n cloud: CloudPreferences | null,\n): MergePreferencesResult<P> {\n if (!cloud) return { preferences: local, winner: \"local\" };\n if (timestampMs(local.updatedAt) > timestampMs(cloud.updatedAt)) {\n return { preferences: local, winner: \"local\" };\n }\n const preferences: P = {\n ...local,\n dailyReviewGoal: cloud.dailyReviewGoal,\n hidePatternsDuringReview: cloud.hidePatternsDuringReview,\n enabledExtraPatterns: cloud.enabledExtraPatterns,\n };\n if (cloud.updatedAt !== undefined) {\n preferences.updatedAt = cloud.updatedAt;\n }\n return { preferences, winner: \"cloud\" };\n}\n","import { todayStr, addDays } from \"../dateHelpers\";\nimport type { Problem, ReviewEvent, ReviewLogEntry } from \"../types\";\n\nexport function calculateStreak(log: ReviewLogEntry[]): number {\n if (log.length === 0) return 0;\n const dates = new Set(log.map((e) => e.date));\n let streak = 0;\n let checkDate = todayStr();\n if (!dates.has(checkDate)) {\n checkDate = addDays(checkDate, -1);\n if (!dates.has(checkDate)) return 0;\n }\n while (dates.has(checkDate)) {\n streak++;\n checkDate = addDays(checkDate, -1);\n }\n return streak;\n}\n\nexport function countReviewedToday(problems: Problem[]): number {\n const today = todayStr();\n return problems.filter((p) => p.lastReviewed === today).length;\n}\n\nexport interface PruneOldEventsOptions {\n /** Days of history to keep; null/undefined disables pruning entirely (web). */\n retentionDays?: number | null;\n today?: string;\n}\n\nexport interface PruneOldEventsResult {\n kept: ReviewEvent[];\n /**\n * F-3 watermark: the YYYY-MM-DD cutoff (events with date >= cutoff are kept),\n * or null when pruning is disabled. Platforms persist this under\n * REVIEW_EVENTS_PRUNED_BEFORE_KEY so merges can drop pre-cutoff cloud events.\n */\n cutoffIso: string | null;\n}\n\n/**\n * Pure prune (F-3): no persistence side effects; callers save `kept` and the\n * watermark explicitly as a post-sync maintenance step, never on load.\n */\nexport function pruneOldEvents(\n events: ReviewEvent[],\n { retentionDays, today = todayStr() }: PruneOldEventsOptions,\n): PruneOldEventsResult {\n if (retentionDays == null) {\n return { kept: events, cutoffIso: null };\n }\n const cutoff = addDays(today, -retentionDays);\n return { kept: events.filter((e) => e.date >= cutoff), cutoffIso: cutoff };\n}\n","// Static LeetCode problem database — ALL 3,846 problems\n// Fields: n=number, t=title, d=difficulty, s=slug\n// URL constructed at runtime: https://leetcode.com/problems/${slug}/description/\n// Generated from LeetCode index scrape, February 19, 2026\n\nconst LEETCODE_PROBLEMS = [\n { n: 1, t: \"Two Sum\", d: \"Easy\", s: \"two-sum\" },\n { n: 2, t: \"Add Two Numbers\", d: \"Medium\", s: \"add-two-numbers\" },\n { n: 3, t: \"Longest Substring Without Repeating Characters\", d: \"Medium\", s: \"longest-substring-without-repeating-characters\" },\n { n: 4, t: \"Median of Two Sorted Arrays\", d: \"Hard\", s: \"median-of-two-sorted-arrays\" },\n { n: 5, t: \"Longest Palindromic Substring\", d: \"Medium\", s: \"longest-palindromic-substring\" },\n { n: 6, t: \"Zigzag Conversion\", d: \"Medium\", s: \"zigzag-conversion\" },\n { n: 7, t: \"Reverse Integer\", d: \"Medium\", s: \"reverse-integer\" },\n { n: 8, t: \"String to Integer (atoi)\", d: \"Medium\", s: \"string-to-integer-atoi\" },\n { n: 9, t: \"Palindrome Number\", d: \"Easy\", s: \"palindrome-number\" },\n { n: 10, t: \"Regular Expression Matching\", d: \"Hard\", s: \"regular-expression-matching\" },\n { n: 11, t: \"Container With Most Water\", d: \"Medium\", s: \"container-with-most-water\" },\n { n: 12, t: \"Integer to Roman\", d: \"Medium\", s: \"integer-to-roman\" },\n { n: 13, t: \"Roman to Integer\", d: \"Easy\", s: \"roman-to-integer\" },\n { n: 14, t: \"Longest Common Prefix\", d: \"Easy\", s: \"longest-common-prefix\" },\n { n: 15, t: \"3Sum\", d: \"Medium\", s: \"3sum\" },\n { n: 16, t: \"3Sum Closest\", d: \"Medium\", s: \"3sum-closest\" },\n { n: 17, t: \"Letter Combinations of a Phone Number\", d: \"Medium\", s: \"letter-combinations-of-a-phone-number\" },\n { n: 18, t: \"4Sum\", d: \"Medium\", s: \"4sum\" },\n { n: 19, t: \"Remove Nth Node From End of List\", d: \"Medium\", s: \"remove-nth-node-from-end-of-list\" },\n { n: 20, t: \"Valid Parentheses\", d: \"Easy\", s: \"valid-parentheses\" },\n { n: 21, t: \"Merge Two Sorted Lists\", d: \"Easy\", s: \"merge-two-sorted-lists\" },\n { n: 22, t: \"Generate Parentheses\", d: \"Medium\", s: \"generate-parentheses\" },\n { n: 23, t: \"Merge k Sorted Lists\", d: \"Hard\", s: \"merge-k-sorted-lists\" },\n { n: 24, t: \"Swap Nodes in Pairs\", d: \"Medium\", s: \"swap-nodes-in-pairs\" },\n { n: 25, t: \"Reverse Nodes in k-Group\", d: \"Hard\", s: \"reverse-nodes-in-k-group\" },\n { n: 26, t: \"Remove Duplicates from Sorted Array\", d: \"Easy\", s: \"remove-duplicates-from-sorted-array\" },\n { n: 27, t: \"Remove Element\", d: \"Easy\", s: \"remove-element\" },\n { n: 28, t: \"Find the Index of the First Occurrence in a String\", d: \"Easy\", s: \"find-the-index-of-the-first-occurrence-in-a-string\" },\n { n: 29, t: \"Divide Two Integers\", d: \"Medium\", s: \"divide-two-integers\" },\n { n: 30, t: \"Substring with Concatenation of All Words\", d: \"Hard\", s: \"substring-with-concatenation-of-all-words\" },\n { n: 31, t: \"Next Permutation\", d: \"Medium\", s: \"next-permutation\" },\n { n: 32, t: \"Longest Valid Parentheses\", d: \"Hard\", s: \"longest-valid-parentheses\" },\n { n: 33, t: \"Search in Rotated Sorted Array\", d: \"Medium\", s: \"search-in-rotated-sorted-array\" },\n { n: 34, t: \"Find First and Last Position of Element in Sorted Array\", d: \"Medium\", s: \"find-first-and-last-position-of-element-in-sorted-array\" },\n { n: 35, t: \"Search Insert Position\", d: \"Easy\", s: \"search-insert-position\" },\n { n: 36, t: \"Valid Sudoku\", d: \"Medium\", s: \"valid-sudoku\" },\n { n: 37, t: \"Sudoku Solver\", d: \"Hard\", s: \"sudoku-solver\" },\n { n: 38, t: \"Count and Say\", d: \"Medium\", s: \"count-and-say\" },\n { n: 39, t: \"Combination Sum\", d: \"Medium\", s: \"combination-sum\" },\n { n: 40, t: \"Combination Sum II\", d: \"Medium\", s: \"combination-sum-ii\" },\n { n: 41, t: \"First Missing Positive\", d: \"Hard\", s: \"first-missing-positive\" },\n { n: 42, t: \"Trapping Rain Water\", d: \"Hard\", s: \"trapping-rain-water\" },\n { n: 43, t: \"Multiply Strings\", d: \"Medium\", s: \"multiply-strings\" },\n { n: 44, t: \"Wildcard Matching\", d: \"Hard\", s: \"wildcard-matching\" },\n { n: 45, t: \"Jump Game II\", d: \"Medium\", s: \"jump-game-ii\" },\n { n: 46, t: \"Permutations\", d: \"Medium\", s: \"permutations\" },\n { n: 47, t: \"Permutations II\", d: \"Medium\", s: \"permutations-ii\" },\n { n: 48, t: \"Rotate Image\", d: \"Medium\", s: \"rotate-image\" },\n { n: 49, t: \"Group Anagrams\", d: \"Medium\", s: \"group-anagrams\" },\n { n: 50, t: \"Pow(x, n)\", d: \"Medium\", s: \"powx-n\" },\n { n: 51, t: \"N-Queens\", d: \"Hard\", s: \"n-queens\" },\n { n: 52, t: \"N-Queens II\", d: \"Hard\", s: \"n-queens-ii\" },\n { n: 53, t: \"Maximum Subarray\", d: \"Medium\", s: \"maximum-subarray\" },\n { n: 54, t: \"Spiral Matrix\", d: \"Medium\", s: \"spiral-matrix\" },\n { n: 55, t: \"Jump Game\", d: \"Medium\", s: \"jump-game\" },\n { n: 56, t: \"Merge Intervals\", d: \"Medium\", s: \"merge-intervals\" },\n { n: 57, t: \"Insert Interval\", d: \"Medium\", s: \"insert-interval\" },\n { n: 58, t: \"Length of Last Word\", d: \"Easy\", s: \"length-of-last-word\" },\n { n: 59, t: \"Spiral Matrix II\", d: \"Medium\", s: \"spiral-matrix-ii\" },\n { n: 60, t: \"Permutation Sequence\", d: \"Hard\", s: \"permutation-sequence\" },\n { n: 61, t: \"Rotate List\", d: \"Medium\", s: \"rotate-list\" },\n { n: 62, t: \"Unique Paths\", d: \"Medium\", s: \"unique-paths\" },\n { n: 63, t: \"Unique Paths II\", d: \"Medium\", s: \"unique-paths-ii\" },\n { n: 64, t: \"Minimum Path Sum\", d: \"Medium\", s: \"minimum-path-sum\" },\n { n: 65, t: \"Valid Number\", d: \"Hard\", s: \"valid-number\" },\n { n: 66, t: \"Plus One\", d: \"Easy\", s: \"plus-one\" },\n { n: 67, t: \"Add Binary\", d: \"Easy\", s: \"add-binary\" },\n { n: 68, t: \"Text Justification\", d: \"Hard\", s: \"text-justification\" },\n { n: 69, t: \"Sqrt(x)\", d: \"Easy\", s: \"sqrtx\" },\n { n: 70, t: \"Climbing Stairs\", d: \"Easy\", s: \"climbing-stairs\" },\n { n: 71, t: \"Simplify Path\", d: \"Medium\", s: \"simplify-path\" },\n { n: 72, t: \"Edit Distance\", d: \"Medium\", s: \"edit-distance\" },\n { n: 73, t: \"Set Matrix Zeroes\", d: \"Medium\", s: \"set-matrix-zeroes\" },\n { n: 74, t: \"Search a 2D Matrix\", d: \"Medium\", s: \"search-a-2d-matrix\" },\n { n: 75, t: \"Sort Colors\", d: \"Medium\", s: \"sort-colors\" },\n { n: 76, t: \"Minimum Window Substring\", d: \"Hard\", s: \"minimum-window-substring\" },\n { n: 77, t: \"Combinations\", d: \"Medium\", s: \"combinations\" },\n { n: 78, t: \"Subsets\", d: \"Medium\", s: \"subsets\" },\n { n: 79, t: \"Word Search\", d: \"Medium\", s: \"word-search\" },\n { n: 80, t: \"Remove Duplicates from Sorted Array II\", d: \"Medium\", s: \"remove-duplicates-from-sorted-array-ii\" },\n { n: 81, t: \"Search in Rotated Sorted Array II\", d: \"Medium\", s: \"search-in-rotated-sorted-array-ii\" },\n { n: 82, t: \"Remove Duplicates from Sorted List II\", d: \"Medium\", s: \"remove-duplicates-from-sorted-list-ii\" },\n { n: 83, t: \"Remove Duplicates from Sorted List\", d: \"Easy\", s: \"remove-duplicates-from-sorted-list\" },\n { n: 84, t: \"Largest Rectangle in Histogram\", d: \"Hard\", s: \"largest-rectangle-in-histogram\" },\n { n: 85, t: \"Maximal Rectangle\", d: \"Hard\", s: \"maximal-rectangle\" },\n { n: 86, t: \"Partition List\", d: \"Medium\", s: \"partition-list\" },\n { n: 87, t: \"Scramble String\", d: \"Hard\", s: \"scramble-string\" },\n { n: 88, t: \"Merge Sorted Array\", d: \"Easy\", s: \"merge-sorted-array\" },\n { n: 89, t: \"Gray Code\", d: \"Medium\", s: \"gray-code\" },\n { n: 90, t: \"Subsets II\", d: \"Medium\", s: \"subsets-ii\" },\n { n: 91, t: \"Decode Ways\", d: \"Medium\", s: \"decode-ways\" },\n { n: 92, t: \"Reverse Linked List II\", d: \"Medium\", s: \"reverse-linked-list-ii\" },\n { n: 93, t: \"Restore IP Addresses\", d: \"Medium\", s: \"restore-ip-addresses\" },\n { n: 94, t: \"Binary Tree Inorder Traversal\", d: \"Easy\", s: \"binary-tree-inorder-traversal\" },\n { n: 95, t: \"Unique Binary Search Trees II\", d: \"Medium\", s: \"unique-binary-search-trees-ii\" },\n { n: 96, t: \"Unique Binary Search Trees\", d: \"Medium\", s: \"unique-binary-search-trees\" },\n { n: 97, t: \"Interleaving String\", d: \"Medium\", s: \"interleaving-string\" },\n { n: 98, t: \"Validate Binary Search Tree\", d: \"Medium\", s: \"validate-binary-search-tree\" },\n { n: 99, t: \"Recover Binary Search Tree\", d: \"Medium\", s: \"recover-binary-search-tree\" },\n { n: 100, t: \"Same Tree\", d: \"Easy\", s: \"same-tree\" },\n { n: 101, t: \"Symmetric Tree\", d: \"Easy\", s: \"symmetric-tree\" },\n { n: 102, t: \"Binary Tree Level Order Traversal\", d: \"Medium\", s: \"binary-tree-level-order-traversal\" },\n { n: 103, t: \"Binary Tree Zigzag Level Order Traversal\", d: \"Medium\", s: \"binary-tree-zigzag-level-order-traversal\" },\n { n: 104, t: \"Maximum Depth of Binary Tree\", d: \"Easy\", s: \"maximum-depth-of-binary-tree\" },\n { n: 105, t: \"Construct Binary Tree from Preorder and Inorder Traversal\", d: \"Medium\", s: \"construct-binary-tree-from-preorder-and-inorder-traversal\" },\n { n: 106, t: \"Construct Binary Tree from Inorder and Postorder Traversal\", d: \"Medium\", s: \"construct-binary-tree-from-inorder-and-postorder-traversal\" },\n { n: 107, t: \"Binary Tree Level Order Traversal II\", d: \"Medium\", s: \"binary-tree-level-order-traversal-ii\" },\n { n: 108, t: \"Convert Sorted Array to Binary Search Tree\", d: \"Easy\", s: \"convert-sorted-array-to-binary-search-tree\" },\n { n: 109, t: \"Convert Sorted List to Binary Search Tree\", d: \"Medium\", s: \"convert-sorted-list-to-binary-search-tree\" },\n { n: 110, t: \"Balanced Binary Tree\", d: \"Easy\", s: \"balanced-binary-tree\" },\n { n: 111, t: \"Minimum Depth of Binary Tree\", d: \"Easy\", s: \"minimum-depth-of-binary-tree\" },\n { n: 112, t: \"Path Sum\", d: \"Easy\", s: \"path-sum\" },\n { n: 113, t: \"Path Sum II\", d: \"Medium\", s: \"path-sum-ii\" },\n { n: 114, t: \"Flatten Binary Tree to Linked List\", d: \"Medium\", s: \"flatten-binary-tree-to-linked-list\" },\n { n: 115, t: \"Distinct Subsequences\", d: \"Hard\", s: \"distinct-subsequences\" },\n { n: 116, t: \"Populating Next Right Pointers in Each Node\", d: \"Medium\", s: \"populating-next-right-pointers-in-each-node\" },\n { n: 117, t: \"Populating Next Right Pointers in Each Node II\", d: \"Medium\", s: \"populating-next-right-pointers-in-each-node-ii\" },\n { n: 118, t: \"Pascal\\'s Triangle\", d: \"Easy\", s: \"pascals-triangle\" },\n { n: 119, t: \"Pascal\\'s Triangle II\", d: \"Easy\", s: \"pascals-triangle-ii\" },\n { n: 120, t: \"Triangle\", d: \"Medium\", s: \"triangle\" },\n { n: 121, t: \"Best Time to Buy and Sell Stock\", d: \"Easy\", s: \"best-time-to-buy-and-sell-stock\" },\n { n: 122, t: \"Best Time to Buy and Sell Stock II\", d: \"Medium\", s: \"best-time-to-buy-and-sell-stock-ii\" },\n { n: 123, t: \"Best Time to Buy and Sell Stock III\", d: \"Hard\", s: \"best-time-to-buy-and-sell-stock-iii\" },\n { n: 124, t: \"Binary Tree Maximum Path Sum\", d: \"Hard\", s: \"binary-tree-maximum-path-sum\" },\n { n: 125, t: \"Valid Palindrome\", d: \"Easy\", s: \"valid-palindrome\" },\n { n: 126, t: \"Word Ladder II\", d: \"Hard\", s: \"word-ladder-ii\" },\n { n: 127, t: \"Word Ladder\", d: \"Hard\", s: \"word-ladder\" },\n { n: 128, t: \"Longest Consecutive Sequence\", d: \"Medium\", s: \"longest-consecutive-sequence\" },\n { n: 129, t: \"Sum Root to Leaf Numbers\", d: \"Medium\", s: \"sum-root-to-leaf-numbers\" },\n { n: 130, t: \"Surrounded Regions\", d: \"Medium\", s: \"surrounded-regions\" },\n { n: 131, t: \"Palindrome Partitioning\", d: \"Medium\", s: \"palindrome-partitioning\" },\n { n: 132, t: \"Palindrome Partitioning II\", d: \"Hard\", s: \"palindrome-partitioning-ii\" },\n { n: 133, t: \"Clone Graph\", d: \"Medium\", s: \"clone-graph\" },\n { n: 134, t: \"Gas Station\", d: \"Medium\", s: \"gas-station\" },\n { n: 135, t: \"Candy\", d: \"Hard\", s: \"candy\" },\n { n: 136, t: \"Single Number\", d: \"Easy\", s: \"single-number\" },\n { n: 137, t: \"Single Number II\", d: \"Medium\", s: \"single-number-ii\" },\n { n: 138, t: \"Copy List with Random Pointer\", d: \"Medium\", s: \"copy-list-with-random-pointer\" },\n { n: 139, t: \"Word Break\", d: \"Medium\", s: \"word-break\" },\n { n: 140, t: \"Word Break II\", d: \"Hard\", s: \"word-break-ii\" },\n { n: 141, t: \"Linked List Cycle\", d: \"Easy\", s: \"linked-list-cycle\" },\n { n: 142, t: \"Linked List Cycle II\", d: \"Medium\", s: \"linked-list-cycle-ii\" },\n { n: 143, t: \"Reorder List\", d: \"Medium\", s: \"reorder-list\" },\n { n: 144, t: \"Binary Tree Preorder Traversal\", d: \"Easy\", s: \"binary-tree-preorder-traversal\" },\n { n: 145, t: \"Binary Tree Postorder Traversal\", d: \"Easy\", s: \"binary-tree-postorder-traversal\" },\n { n: 146, t: \"LRU Cache\", d: \"Medium\", s: \"lru-cache\" },\n { n: 147, t: \"Insertion Sort List\", d: \"Medium\", s: \"insertion-sort-list\" },\n { n: 148, t: \"Sort List\", d: \"Medium\", s: \"sort-list\" },\n { n: 149, t: \"Max Points on a Line\", d: \"Hard\", s: \"max-points-on-a-line\" },\n { n: 150, t: \"Evaluate Reverse Polish Notation\", d: \"Medium\", s: \"evaluate-reverse-polish-notation\" },\n { n: 151, t: \"Reverse Words in a String\", d: \"Medium\", s: \"reverse-words-in-a-string\" },\n { n: 152, t: \"Maximum Product Subarray\", d: \"Medium\", s: \"maximum-product-subarray\" },\n { n: 153, t: \"Find Minimum in Rotated Sorted Array\", d: \"Medium\", s: \"find-minimum-in-rotated-sorted-array\" },\n { n: 154, t: \"Find Minimum in Rotated Sorted Array II\", d: \"Hard\", s: \"find-minimum-in-rotated-sorted-array-ii\" },\n { n: 155, t: \"Min Stack\", d: \"Medium\", s: \"min-stack\" },\n { n: 156, t: \"Binary Tree Upside Down\", d: \"Medium\", s: \"binary-tree-upside-down\" },\n { n: 157, t: \"Read N Characters Given Read4\", d: \"Easy\", s: \"read-n-characters-given-read4\" },\n { n: 158, t: \"Read N Characters Given read4 II - Call Multiple Times\", d: \"Hard\", s: \"read-n-characters-given-read4-ii-call-multiple-times\" },\n { n: 159, t: \"Longest Substring with At Most Two Distinct Characters\", d: \"Medium\", s: \"longest-substring-with-at-most-two-distinct-characters\" },\n { n: 160, t: \"Intersection of Two Linked Lists\", d: \"Easy\", s: \"intersection-of-two-linked-lists\" },\n { n: 161, t: \"One Edit Distance\", d: \"Medium\", s: \"one-edit-distance\" },\n { n: 162, t: \"Find Peak Element\", d: \"Medium\", s: \"find-peak-element\" },\n { n: 163, t: \"Missing Ranges\", d: \"Easy\", s: \"missing-ranges\" },\n { n: 164, t: \"Maximum Gap\", d: \"Medium\", s: \"maximum-gap\" },\n { n: 165, t: \"Compare Version Numbers\", d: \"Medium\", s: \"compare-version-numbers\" },\n { n: 166, t: \"Fraction to Recurring Decimal\", d: \"Medium\", s: \"fraction-to-recurring-decimal\" },\n { n: 167, t: \"Two Sum II - Input Array Is Sorted\", d: \"Medium\", s: \"two-sum-ii-input-array-is-sorted\" },\n { n: 168, t: \"Excel Sheet Column Title\", d: \"Easy\", s: \"excel-sheet-column-title\" },\n { n: 169, t: \"Majority Element\", d: \"Easy\", s: \"majority-element\" },\n { n: 170, t: \"Two Sum III - Data structure design\", d: \"Easy\", s: \"two-sum-iii-data-structure-design\" },\n { n: 171, t: \"Excel Sheet Column Number\", d: \"Easy\", s: \"excel-sheet-column-number\" },\n { n: 172, t: \"Factorial Trailing Zeroes\", d: \"Medium\", s: \"factorial-trailing-zeroes\" },\n { n: 173, t: \"Binary Search Tree Iterator\", d: \"Medium\", s: \"binary-search-tree-iterator\" },\n { n: 174, t: \"Dungeon Game\", d: \"Hard\", s: \"dungeon-game\" },\n { n: 175, t: \"Combine Two Tables\", d: \"Easy\", s: \"combine-two-tables\" },\n { n: 176, t: \"Second Highest Salary\", d: \"Medium\", s: \"second-highest-salary\" },\n { n: 177, t: \"Nth Highest Salary\", d: \"Medium\", s: \"nth-highest-salary\" },\n { n: 178, t: \"Rank Scores\", d: \"Medium\", s: \"rank-scores\" },\n { n: 179, t: \"Largest Number\", d: \"Medium\", s: \"largest-number\" },\n { n: 180, t: \"Consecutive Numbers\", d: \"Medium\", s: \"consecutive-numbers\" },\n { n: 181, t: \"Employees Earning More Than Their Managers\", d: \"Easy\", s: \"employees-earning-more-than-their-managers\" },\n { n: 182, t: \"Duplicate Emails\", d: \"Easy\", s: \"duplicate-emails\" },\n { n: 183, t: \"Customers Who Never Order\", d: \"Easy\", s: \"customers-who-never-order\" },\n { n: 184, t: \"Department Highest Salary\", d: \"Medium\", s: \"department-highest-salary\" },\n { n: 185, t: \"Department Top Three Salaries\", d: \"Hard\", s: \"department-top-three-salaries\" },\n { n: 186, t: \"Reverse Words in a String II\", d: \"Medium\", s: \"reverse-words-in-a-string-ii\" },\n { n: 187, t: \"Repeated DNA Sequences\", d: \"Medium\", s: \"repeated-dna-sequences\" },\n { n: 188, t: \"Best Time to Buy and Sell Stock IV\", d: \"Hard\", s: \"best-time-to-buy-and-sell-stock-iv\" },\n { n: 189, t: \"Rotate Array\", d: \"Medium\", s: \"rotate-array\" },\n { n: 190, t: \"Reverse Bits\", d: \"Easy\", s: \"reverse-bits\" },\n { n: 191, t: \"Number of 1 Bits\", d: \"Easy\", s: \"number-of-1-bits\" },\n { n: 192, t: \"Word Frequency\", d: \"Medium\", s: \"word-frequency\" },\n { n: 193, t: \"Valid Phone Numbers\", d: \"Easy\", s: \"valid-phone-numbers\" },\n { n: 194, t: \"Transpose File\", d: \"Medium\", s: \"transpose-file\" },\n { n: 195, t: \"Tenth Line\", d: \"Easy\", s: \"tenth-line\" },\n { n: 196, t: \"Delete Duplicate Emails\", d: \"Easy\", s: \"delete-duplicate-emails\" },\n { n: 197, t: \"Rising Temperature\", d: \"Easy\", s: \"rising-temperature\" },\n { n: 198, t: \"House Robber\", d: \"Medium\", s: \"house-robber\" },\n { n: 199, t: \"Binary Tree Right Side View\", d: \"Medium\", s: \"binary-tree-right-side-view\" },\n { n: 200, t: \"Number of Islands\", d: \"Medium\", s: \"number-of-islands\" },\n { n: 201, t: \"Bitwise AND of Numbers Range\", d: \"Medium\", s: \"bitwise-and-of-numbers-range\" },\n { n: 202, t: \"Happy Number\", d: \"Easy\", s: \"happy-number\" },\n { n: 203, t: \"Remove Linked List Elements\", d: \"Easy\", s: \"remove-linked-list-elements\" },\n { n: 204, t: \"Count Primes\", d: \"Medium\", s: \"count-primes\" },\n { n: 205, t: \"Isomorphic Strings\", d: \"Easy\", s: \"isomorphic-strings\" },\n { n: 206, t: \"Reverse Linked List\", d: \"Easy\", s: \"reverse-linked-list\" },\n { n: 207, t: \"Course Schedule\", d: \"Medium\", s: \"course-schedule\" },\n { n: 208, t: \"Implement Trie (Prefix Tree)\", d: \"Medium\", s: \"implement-trie-prefix-tree\" },\n { n: 209, t: \"Minimum Size Subarray Sum\", d: \"Medium\", s: \"minimum-size-subarray-sum\" },\n { n: 210, t: \"Course Schedule II\", d: \"Medium\", s: \"course-schedule-ii\" },\n { n: 211, t: \"Design Add and Search Words Data Structure\", d: \"Medium\", s: \"design-add-and-search-words-data-structure\" },\n { n: 212, t: \"Word Search II\", d: \"Hard\", s: \"word-search-ii\" },\n { n: 213, t: \"House Robber II\", d: \"Medium\", s: \"house-robber-ii\" },\n { n: 214, t: \"Shortest Palindrome\", d: \"Hard\", s: \"shortest-palindrome\" },\n { n: 215, t: \"Kth Largest Element in an Array\", d: \"Medium\", s: \"kth-largest-element-in-an-array\" },\n { n: 216, t: \"Combination Sum III\", d: \"Medium\", s: \"combination-sum-iii\" },\n { n: 217, t: \"Contains Duplicate\", d: \"Easy\", s: \"contains-duplicate\" },\n { n: 218, t: \"The Skyline Problem\", d: \"Hard\", s: \"the-skyline-problem\" },\n { n: 219, t: \"Contains Duplicate II\", d: \"Easy\", s: \"contains-duplicate-ii\" },\n { n: 220, t: \"Contains Duplicate III\", d: \"Hard\", s: \"contains-duplicate-iii\" },\n { n: 221, t: \"Maximal Square\", d: \"Medium\", s: \"maximal-square\" },\n { n: 222, t: \"Count Complete Tree Nodes\", d: \"Easy\", s: \"count-complete-tree-nodes\" },\n { n: 223, t: \"Rectangle Area\", d: \"Medium\", s: \"rectangle-area\" },\n { n: 224, t: \"Basic Calculator\", d: \"Hard\", s: \"basic-calculator\" },\n { n: 225, t: \"Implement Stack using Queues\", d: \"Easy\", s: \"implement-stack-using-queues\" },\n { n: 226, t: \"Invert Binary Tree\", d: \"Easy\", s: \"invert-binary-tree\" },\n { n: 227, t: \"Basic Calculator II\", d: \"Medium\", s: \"basic-calculator-ii\" },\n { n: 228, t: \"Summary Ranges\", d: \"Easy\", s: \"summary-ranges\" },\n { n: 229, t: \"Majority Element II\", d: \"Medium\", s: \"majority-element-ii\" },\n { n: 230, t: \"Kth Smallest Element in a BST\", d: \"Medium\", s: \"kth-smallest-element-in-a-bst\" },\n { n: 231, t: \"Power of Two\", d: \"Easy\", s: \"power-of-two\" },\n { n: 232, t: \"Implement Queue using Stacks\", d: \"Easy\", s: \"implement-queue-using-stacks\" },\n { n: 233, t: \"Number of Digit One\", d: \"Hard\", s: \"number-of-digit-one\" },\n { n: 234, t: \"Palindrome Linked List\", d: \"Easy\", s: \"palindrome-linked-list\" },\n { n: 235, t: \"Lowest Common Ancestor of a Binary Search Tree\", d: \"Medium\", s: \"lowest-common-ancestor-of-a-binary-search-tree\" },\n { n: 236, t: \"Lowest Common Ancestor of a Binary Tree\", d: \"Medium\", s: \"lowest-common-ancestor-of-a-binary-tree\" },\n { n: 237, t: \"Delete Node in a Linked List\", d: \"Medium\", s: \"delete-node-in-a-linked-list\" },\n { n: 238, t: \"Product of Array Except Self\", d: \"Medium\", s: \"product-of-array-except-self\" },\n { n: 239, t: \"Sliding Window Maximum\", d: \"Hard\", s: \"sliding-window-maximum\" },\n { n: 240, t: \"Search a 2D Matrix II\", d: \"Medium\", s: \"search-a-2d-matrix-ii\" },\n { n: 241, t: \"Different Ways to Add Parentheses\", d: \"Medium\", s: \"different-ways-to-add-parentheses\" },\n { n: 242, t: \"Valid Anagram\", d: \"Easy\", s: \"valid-anagram\" },\n { n: 243, t: \"Shortest Word Distance\", d: \"Easy\", s: \"shortest-word-distance\" },\n { n: 244, t: \"Shortest Word Distance II\", d: \"Medium\", s: \"shortest-word-distance-ii\" },\n { n: 245, t: \"Shortest Word Distance III\", d: \"Medium\", s: \"shortest-word-distance-iii\" },\n { n: 246, t: \"Strobogrammatic Number\", d: \"Easy\", s: \"strobogrammatic-number\" },\n { n: 247, t: \"Strobogrammatic Number II\", d: \"Medium\", s: \"strobogrammatic-number-ii\" },\n { n: 248, t: \"Strobogrammatic Number III\", d: \"Hard\", s: \"strobogrammatic-number-iii\" },\n { n: 249, t: \"Group Shifted Strings\", d: \"Medium\", s: \"group-shifted-strings\" },\n { n: 250, t: \"Count Univalue Subtrees\", d: \"Medium\", s: \"count-univalue-subtrees\" },\n { n: 251, t: \"Flatten 2D Vector\", d: \"Medium\", s: \"flatten-2d-vector\" },\n { n: 252, t: \"Meeting Rooms\", d: \"Easy\", s: \"meeting-rooms\" },\n { n: 253, t: \"Meeting Rooms II\", d: \"Medium\", s: \"meeting-rooms-ii\" },\n { n: 254, t: \"Factor Combinations\", d: \"Medium\", s: \"factor-combinations\" },\n { n: 255, t: \"Verify Preorder Sequence in Binary Search Tree\", d: \"Medium\", s: \"verify-preorder-sequence-in-binary-search-tree\" },\n { n: 256, t: \"Paint House\", d: \"Medium\", s: \"paint-house\" },\n { n: 257, t: \"Binary Tree Paths\", d: \"Easy\", s: \"binary-tree-paths\" },\n { n: 258, t: \"Add Digits\", d: \"Easy\", s: \"add-digits\" },\n { n: 259, t: \"3Sum Smaller\", d: \"Medium\", s: \"3sum-smaller\" },\n { n: 260, t: \"Single Number III\", d: \"Medium\", s: \"single-number-iii\" },\n { n: 261, t: \"Graph Valid Tree\", d: \"Medium\", s: \"graph-valid-tree\" },\n { n: 262, t: \"Trips and Users\", d: \"Hard\", s: \"trips-and-users\" },\n { n: 263, t: \"Ugly Number\", d: \"Easy\", s: \"ugly-number\" },\n { n: 264, t: \"Ugly Number II\", d: \"Medium\", s: \"ugly-number-ii\" },\n { n: 265, t: \"Paint House II\", d: \"Hard\", s: \"paint-house-ii\" },\n { n: 266, t: \"Palindrome Permutation\", d: \"Easy\", s: \"palindrome-permutation\" },\n { n: 267, t: \"Palindrome Permutation II\", d: \"Medium\", s: \"palindrome-permutation-ii\" },\n { n: 268, t: \"Missing Number\", d: \"Easy\", s: \"missing-number\" },\n { n: 269, t: \"Alien Dictionary\", d: \"Hard\", s: \"alien-dictionary\" },\n { n: 270, t: \"Closest Binary Search Tree Value\", d: \"Easy\", s: \"closest-binary-search-tree-value\" },\n { n: 271, t: \"Encode and Decode Strings\", d: \"Medium\", s: \"encode-and-decode-strings\" },\n { n: 272, t: \"Closest Binary Search Tree Value II\", d: \"Hard\", s: \"closest-binary-search-tree-value-ii\" },\n { n: 273, t: \"Integer to English Words\", d: \"Hard\", s: \"integer-to-english-words\" },\n { n: 274, t: \"H-Index\", d: \"Medium\", s: \"h-index\" },\n { n: 275, t: \"H-Index II\", d: \"Medium\", s: \"h-index-ii\" },\n { n: 276, t: \"Paint Fence\", d: \"Medium\", s: \"paint-fence\" },\n { n: 277, t: \"Find the Celebrity\", d: \"Medium\", s: \"find-the-celebrity\" },\n { n: 278, t: \"First Bad Version\", d: \"Easy\", s: \"first-bad-version\" },\n { n: 279, t: \"Perfect Squares\", d: \"Medium\", s: \"perfect-squares\" },\n { n: 280, t: \"Wiggle Sort\", d: \"Medium\", s: \"wiggle-sort\" },\n { n: 281, t: \"Zigzag Iterator\", d: \"Medium\", s: \"zigzag-iterator\" },\n { n: 282, t: \"Expression Add Operators\", d: \"Hard\", s: \"expression-add-operators\" },\n { n: 283, t: \"Move Zeroes\", d: \"Easy\", s: \"move-zeroes\" },\n { n: 284, t: \"Peeking Iterator\", d: \"Medium\", s: \"peeking-iterator\" },\n { n: 285, t: \"Inorder Successor in BST\", d: \"Medium\", s: \"inorder-successor-in-bst\" },\n { n: 286, t: \"Walls and Gates\", d: \"Medium\", s: \"walls-and-gates\" },\n { n: 287, t: \"Find the Duplicate Number\", d: \"Medium\", s: \"find-the-duplicate-number\" },\n { n: 288, t: \"Unique Word Abbreviation\", d: \"Medium\", s: \"unique-word-abbreviation\" },\n { n: 289, t: \"Game of Life\", d: \"Medium\", s: \"game-of-life\" },\n { n: 290, t: \"Word Pattern\", d: \"Easy\", s: \"word-pattern\" },\n { n: 291, t: \"Word Pattern II\", d: \"Medium\", s: \"word-pattern-ii\" },\n { n: 292, t: \"Nim Game\", d: \"Easy\", s: \"nim-game\" },\n { n: 293, t: \"Flip Game\", d: \"Easy\", s: \"flip-game\" },\n { n: 294, t: \"Flip Game II\", d: \"Medium\", s: \"flip-game-ii\" },\n { n: 295, t: \"Find Median from Data Stream\", d: \"Hard\", s: \"find-median-from-data-stream\" },\n { n: 296, t: \"Best Meeting Point\", d: \"Hard\", s: \"best-meeting-point\" },\n { n: 297, t: \"Serialize and Deserialize Binary Tree\", d: \"Hard\", s: \"serialize-and-deserialize-binary-tree\" },\n { n: 298, t: \"Binary Tree Longest Consecutive Sequence\", d: \"Medium\", s: \"binary-tree-longest-consecutive-sequence\" },\n { n: 299, t: \"Bulls and Cows\", d: \"Medium\", s: \"bulls-and-cows\" },\n { n: 300, t: \"Longest Increasing Subsequence\", d: \"Medium\", s: \"longest-increasing-subsequence\" },\n { n: 301, t: \"Remove Invalid Parentheses\", d: \"Hard\", s: \"remove-invalid-parentheses\" },\n { n: 302, t: \"Smallest Rectangle Enclosing Black Pixels\", d: \"Hard\", s: \"smallest-rectangle-enclosing-black-pixels\" },\n { n: 303, t: \"Range Sum Query - Immutable\", d: \"Easy\", s: \"range-sum-query-immutable\" },\n { n: 304, t: \"Range Sum Query 2D - Immutable\", d: \"Medium\", s: \"range-sum-query-2d-immutable\" },\n { n: 305, t: \"Number of Islands II\", d: \"Hard\", s: \"number-of-islands-ii\" },\n { n: 306, t: \"Additive Number\", d: \"Medium\", s: \"additive-number\" },\n { n: 307, t: \"Range Sum Query - Mutable\", d: \"Medium\", s: \"range-sum-query-mutable\" },\n { n: 308, t: \"Range Sum Query 2D - Mutable\", d: \"Medium\", s: \"range-sum-query-2d-mutable\" },\n { n: 309, t: \"Best Time to Buy and Sell Stock with Cooldown\", d: \"Medium\", s: \"best-time-to-buy-and-sell-stock-with-cooldown\" },\n { n: 310, t: \"Minimum Height Trees\", d: \"Medium\", s: \"minimum-height-trees\" },\n { n: 311, t: \"Sparse Matrix Multiplication\", d: \"Medium\", s: \"sparse-matrix-multiplication\" },\n { n: 312, t: \"Burst Balloons\", d: \"Hard\", s: \"burst-balloons\" },\n { n: 313, t: \"Super Ugly Number\", d: \"Medium\", s: \"super-ugly-number\" },\n { n: 314, t: \"Binary Tree Vertical Order Traversal\", d: \"Medium\", s: \"binary-tree-vertical-order-traversal\" },\n { n: 315, t: \"Count of Smaller Numbers After Self\", d: \"Hard\", s: \"count-of-smaller-numbers-after-self\" },\n { n: 316, t: \"Remove Duplicate Letters\", d: \"Medium\", s: \"remove-duplicate-letters\" },\n { n: 317, t: \"Shortest Distance from All Buildings\", d: \"Hard\", s: \"shortest-distance-from-all-buildings\" },\n { n: 318, t: \"Maximum Product of Word Lengths\", d: \"Medium\", s: \"maximum-product-of-word-lengths\" },\n { n: 319, t: \"Bulb Switcher\", d: \"Medium\", s: \"bulb-switcher\" },\n { n: 320, t: \"Generalized Abbreviation\", d: \"Medium\", s: \"generalized-abbreviation\" },\n { n: 321, t: \"Create Maximum Number\", d: \"Hard\", s: \"create-maximum-number\" },\n { n: 322, t: \"Coin Change\", d: \"Medium\", s: \"coin-change\" },\n { n: 323, t: \"Number of Connected Components in an Undirected Graph\", d: \"Medium\", s: \"number-of-connected-components-in-an-undirected-graph\" },\n { n: 324, t: \"Wiggle Sort II\", d: \"Medium\", s: \"wiggle-sort-ii\" },\n { n: 325, t: \"Maximum Size Subarray Sum Equals k\", d: \"Medium\", s: \"maximum-size-subarray-sum-equals-k\" },\n { n: 326, t: \"Power of Three\", d: \"Easy\", s: \"power-of-three\" },\n { n: 327, t: \"Count of Range Sum\", d: \"Hard\", s: \"count-of-range-sum\" },\n { n: 328, t: \"Odd Even Linked List\", d: \"Medium\", s: \"odd-even-linked-list\" },\n { n: 329, t: \"Longest Increasing Path in a Matrix\", d: \"Hard\", s: \"longest-increasing-path-in-a-matrix\" },\n { n: 330, t: \"Patching Array\", d: \"Hard\", s: \"patching-array\" },\n { n: 331, t: \"Verify Preorder Serialization of a Binary Tree\", d: \"Medium\", s: \"verify-preorder-serialization-of-a-binary-tree\" },\n { n: 332, t: \"Reconstruct Itinerary\", d: \"Hard\", s: \"reconstruct-itinerary\" },\n { n: 333, t: \"Largest BST Subtree\", d: \"Medium\", s: \"largest-bst-subtree\" },\n { n: 334, t: \"Increasing Triplet Subsequence\", d: \"Medium\", s: \"increasing-triplet-subsequence\" },\n { n: 335, t: \"Self Crossing\", d: \"Hard\", s: \"self-crossing\" },\n { n: 336, t: \"Palindrome Pairs\", d: \"Hard\", s: \"palindrome-pairs\" },\n { n: 337, t: \"House Robber III\", d: \"Medium\", s: \"house-robber-iii\" },\n { n: 338, t: \"Counting Bits\", d: \"Easy\", s: \"counting-bits\" },\n { n: 339, t: \"Nested List Weight Sum\", d: \"Medium\", s: \"nested-list-weight-sum\" },\n { n: 340, t: \"Longest Substring with At Most K Distinct Characters\", d: \"Medium\", s: \"longest-substring-with-at-most-k-distinct-characters\" },\n { n: 341, t: \"Flatten Nested List Iterator\", d: \"Medium\", s: \"flatten-nested-list-iterator\" },\n { n: 342, t: \"Power of Four\", d: \"Easy\", s: \"power-of-four\" },\n { n: 343, t: \"Integer Break\", d: \"Medium\", s: \"integer-break\" },\n { n: 344, t: \"Reverse String\", d: \"Easy\", s: \"reverse-string\" },\n { n: 345, t: \"Reverse Vowels of a String\", d: \"Easy\", s: \"reverse-vowels-of-a-string\" },\n { n: 346, t: \"Moving Average from Data Stream\", d: \"Easy\", s: \"moving-average-from-data-stream\" },\n { n: 347, t: \"Top K Frequent Elements\", d: \"Medium\", s: \"top-k-frequent-elements\" },\n { n: 348, t: \"Design Tic-Tac-Toe\", d: \"Medium\", s: \"design-tic-tac-toe\" },\n { n: 349, t: \"Intersection of Two Arrays\", d: \"Easy\", s: \"intersection-of-two-arrays\" },\n { n: 350, t: \"Intersection of Two Arrays II\", d: \"Easy\", s: \"intersection-of-two-arrays-ii\" },\n { n: 351, t: \"Android Unlock Patterns\", d: \"Medium\", s: \"android-unlock-patterns\" },\n { n: 352, t: \"Data Stream as Disjoint Intervals\", d: \"Hard\", s: \"data-stream-as-disjoint-intervals\" },\n { n: 353, t: \"Design Snake Game\", d: \"Medium\", s: \"design-snake-game\" },\n { n: 354, t: \"Russian Doll Envelopes\", d: \"Hard\", s: \"russian-doll-envelopes\" },\n { n: 355, t: \"Design Twitter\", d: \"Medium\", s: \"design-twitter\" },\n { n: 356, t: \"Line Reflection\", d: \"Medium\", s: \"line-reflection\" },\n { n: 357, t: \"Count Numbers with Unique Digits\", d: \"Medium\", s: \"count-numbers-with-unique-digits\" },\n { n: 358, t: \"Rearrange String k Distance Apart\", d: \"Hard\", s: \"rearrange-string-k-distance-apart\" },\n { n: 359, t: \"Logger Rate Limiter\", d: \"Easy\", s: \"logger-rate-limiter\" },\n { n: 360, t: \"Sort Transformed Array\", d: \"Medium\", s: \"sort-transformed-array\" },\n { n: 361, t: \"Bomb Enemy\", d: \"Medium\", s: \"bomb-enemy\" },\n { n: 362, t: \"Design Hit Counter\", d: \"Medium\", s: \"design-hit-counter\" },\n { n: 363, t: \"Max Sum of Rectangle No Larger Than K\", d: \"Hard\", s: \"max-sum-of-rectangle-no-larger-than-k\" },\n { n: 364, t: \"Nested List Weight Sum II\", d: \"Medium\", s: \"nested-list-weight-sum-ii\" },\n { n: 365, t: \"Water and Jug Problem\", d: \"Medium\", s: \"water-and-jug-problem\" },\n { n: 366, t: \"Find Leaves of Binary Tree\", d: \"Medium\", s: \"find-leaves-of-binary-tree\" },\n { n: 367, t: \"Valid Perfect Square\", d: \"Easy\", s: \"valid-perfect-square\" },\n { n: 368, t: \"Largest Divisible Subset\", d: \"Medium\", s: \"largest-divisible-subset\" },\n { n: 369, t: \"Plus One Linked List\", d: \"Medium\", s: \"plus-one-linked-list\" },\n { n: 370, t: \"Range Addition\", d: \"Medium\", s: \"range-addition\" },\n { n: 371, t: \"Sum of Two Integers\", d: \"Medium\", s: \"sum-of-two-integers\" },\n { n: 372, t: \"Super Pow\", d: \"Medium\", s: \"super-pow\" },\n { n: 373, t: \"Find K Pairs with Smallest Sums\", d: \"Medium\", s: \"find-k-pairs-with-smallest-sums\" },\n { n: 374, t: \"Guess Number Higher or Lower\", d: \"Easy\", s: \"guess-number-higher-or-lower\" },\n { n: 375, t: \"Guess Number Higher or Lower II\", d: \"Medium\", s: \"guess-number-higher-or-lower-ii\" },\n { n: 376, t: \"Wiggle Subsequence\", d: \"Medium\", s: \"wiggle-subsequence\" },\n { n: 377, t: \"Combination Sum IV\", d: \"Medium\", s: \"combination-sum-iv\" },\n { n: 378, t: \"Kth Smallest Element in a Sorted Matrix\", d: \"Medium\", s: \"kth-smallest-element-in-a-sorted-matrix\" },\n { n: 379, t: \"Design Phone Directory\", d: \"Medium\", s: \"design-phone-directory\" },\n { n: 380, t: \"Insert Delete GetRandom O(1)\", d: \"Medium\", s: \"insert-delete-getrandom-o1\" },\n { n: 381, t: \"Insert Delete GetRandom O(1) - Duplicates allowed\", d: \"Hard\", s: \"insert-delete-getrandom-o1-duplicates-allowed\" },\n { n: 382, t: \"Linked List Random Node\", d: \"Medium\", s: \"linked-list-random-node\" },\n { n: 383, t: \"Ransom Note\", d: \"Easy\", s: \"ransom-note\" },\n { n: 384, t: \"Shuffle an Array\", d: \"Medium\", s: \"shuffle-an-array\" },\n { n: 385, t: \"Mini Parser\", d: \"Medium\", s: \"mini-parser\" },\n { n: 386, t: \"Lexicographical Numbers\", d: \"Medium\", s: \"lexicographical-numbers\" },\n { n: 387, t: \"First Unique Character in a String\", d: \"Easy\", s: \"first-unique-character-in-a-string\" },\n { n: 388, t: \"Longest Absolute File Path\", d: \"Medium\", s: \"longest-absolute-file-path\" },\n { n: 389, t: \"Find the Difference\", d: \"Easy\", s: \"find-the-difference\" },\n { n: 390, t: \"Elimination Game\", d: \"Medium\", s: \"elimination-game\" },\n { n: 391, t: \"Perfect Rectangle\", d: \"Hard\", s: \"perfect-rectangle\" },\n { n: 392, t: \"Is Subsequence\", d: \"Easy\", s: \"is-subsequence\" },\n { n: 393, t: \"UTF-8 Validation\", d: \"Medium\", s: \"utf-8-validation\" },\n { n: 394, t: \"Decode String\", d: \"Medium\", s: \"decode-string\" },\n { n: 395, t: \"Longest Substring with At Least K Repeating Characters\", d: \"Medium\", s: \"longest-substring-with-at-least-k-repeating-characters\" },\n { n: 396, t: \"Rotate Function\", d: \"Medium\", s: \"rotate-function\" },\n { n: 397, t: \"Integer Replacement\", d: \"Medium\", s: \"integer-replacement\" },\n { n: 398, t: \"Random Pick Index\", d: \"Medium\", s: \"random-pick-index\" },\n { n: 399, t: \"Evaluate Division\", d: \"Medium\", s: \"evaluate-division\" },\n { n: 400, t: \"Nth Digit\", d: \"Medium\", s: \"nth-digit\" },\n { n: 401, t: \"Binary Watch\", d: \"Easy\", s: \"binary-watch\" },\n { n: 402, t: \"Remove K Digits\", d: \"Medium\", s: \"remove-k-digits\" },\n { n: 403, t: \"Frog Jump\", d: \"Hard\", s: \"frog-jump\" },\n { n: 404, t: \"Sum of Left Leaves\", d: \"Easy\", s: \"sum-of-left-leaves\" },\n { n: 405, t: \"Convert a Number to Hexadecimal\", d: \"Easy\", s: \"convert-a-number-to-hexadecimal\" },\n { n: 406, t: \"Queue Reconstruction by Height\", d: \"Medium\", s: \"queue-reconstruction-by-height\" },\n { n: 407, t: \"Trapping Rain Water II\", d: \"Hard\", s: \"trapping-rain-water-ii\" },\n { n: 408, t: \"Valid Word Abbreviation\", d: \"Easy\", s: \"valid-word-abbreviation\" },\n { n: 409, t: \"Longest Palindrome\", d: \"Easy\", s: \"longest-palindrome\" },\n { n: 410, t: \"Split Array Largest Sum\", d: \"Hard\", s: \"split-array-largest-sum\" },\n { n: 411, t: \"Minimum Unique Word Abbreviation\", d: \"Hard\", s: \"minimum-unique-word-abbreviation\" },\n { n: 412, t: \"Fizz Buzz\", d: \"Easy\", s: \"fizz-buzz\" },\n { n: 413, t: \"Arithmetic Slices\", d: \"Medium\", s: \"arithmetic-slices\" },\n { n: 414, t: \"Third Maximum Number\", d: \"Easy\", s: \"third-maximum-number\" },\n { n: 415, t: \"Add Strings\", d: \"Easy\", s: \"add-strings\" },\n { n: 416, t: \"Partition Equal Subset Sum\", d: \"Medium\", s: \"partition-equal-subset-sum\" },\n { n: 417, t: \"Pacific Atlantic Water Flow\", d: \"Medium\", s: \"pacific-atlantic-water-flow\" },\n { n: 418, t: \"Sentence Screen Fitting\", d: \"Medium\", s: \"sentence-screen-fitting\" },\n { n: 419, t: \"Battleships in a Board\", d: \"Medium\", s: \"battleships-in-a-board\" },\n { n: 420, t: \"Strong Password Checker\", d: \"Hard\", s: \"strong-password-checker\" },\n { n: 421, t: \"Maximum XOR of Two Numbers in an Array\", d: \"Medium\", s: \"maximum-xor-of-two-numbers-in-an-array\" },\n { n: 422, t: \"Valid Word Square\", d: \"Easy\", s: \"valid-word-square\" },\n { n: 423, t: \"Reconstruct Original Digits from English\", d: \"Medium\", s: \"reconstruct-original-digits-from-english\" },\n { n: 424, t: \"Longest Repeating Character Replacement\", d: \"Medium\", s: \"longest-repeating-character-replacement\" },\n { n: 425, t: \"Word Squares\", d: \"Hard\", s: \"word-squares\" },\n { n: 426, t: \"Convert Binary Search Tree to Sorted Doubly Linked List\", d: \"Medium\", s: \"convert-binary-search-tree-to-sorted-doubly-linked-list\" },\n { n: 427, t: \"Construct Quad Tree\", d: \"Medium\", s: \"construct-quad-tree\" },\n { n: 428, t: \"Serialize and Deserialize N-ary Tree\", d: \"Hard\", s: \"serialize-and-deserialize-n-ary-tree\" },\n { n: 429, t: \"N-ary Tree Level Order Traversal\", d: \"Medium\", s: \"n-ary-tree-level-order-traversal\" },\n { n: 430, t: \"Flatten a Multilevel Doubly Linked List\", d: \"Medium\", s: \"flatten-a-multilevel-doubly-linked-list\" },\n { n: 431, t: \"Encode N-ary Tree to Binary Tree\", d: \"Hard\", s: \"encode-n-ary-tree-to-binary-tree\" },\n { n: 432, t: \"All O`one Data Structure\", d: \"Hard\", s: \"all-oone-data-structure\" },\n { n: 433, t: \"Minimum Genetic Mutation\", d: \"Medium\", s: \"minimum-genetic-mutation\" },\n { n: 434, t: \"Number of Segments in a String\", d: \"Easy\", s: \"number-of-segments-in-a-string\" },\n { n: 435, t: \"Non-overlapping Intervals\", d: \"Medium\", s: \"non-overlapping-intervals\" },\n { n: 436, t: \"Find Right Interval\", d: \"Medium\", s: \"find-right-interval\" },\n { n: 437, t: \"Path Sum III\", d: \"Medium\", s: \"path-sum-iii\" },\n { n: 438, t: \"Find All Anagrams in a String\", d: \"Medium\", s: \"find-all-anagrams-in-a-string\" },\n { n: 439, t: \"Ternary Expression Parser\", d: \"Medium\", s: \"ternary-expression-parser\" },\n { n: 440, t: \"K-th Smallest in Lexicographical Order\", d: \"Hard\", s: \"k-th-smallest-in-lexicographical-order\" },\n { n: 441, t: \"Arranging Coins\", d: \"Easy\", s: \"arranging-coins\" },\n { n: 442, t: \"Find All Duplicates in an Array\", d: \"Medium\", s: \"find-all-duplicates-in-an-array\" },\n { n: 443, t: \"String Compression\", d: \"Medium\", s: \"string-compression\" },\n { n: 444, t: \"Sequence Reconstruction\", d: \"Medium\", s: \"sequence-reconstruction\" },\n { n: 445, t: \"Add Two Numbers II\", d: \"Medium\", s: \"add-two-numbers-ii\" },\n { n: 446, t: \"Arithmetic Slices II - Subsequence\", d: \"Hard\", s: \"arithmetic-slices-ii-subsequence\" },\n { n: 447, t: \"Number of Boomerangs\", d: \"Medium\", s: \"number-of-boomerangs\" },\n { n: 448, t: \"Find All Numbers Disappeared in an Array\", d: \"Easy\", s: \"find-all-numbers-disappeared-in-an-array\" },\n { n: 449, t: \"Serialize and Deserialize BST\", d: \"Medium\", s: \"serialize-and-deserialize-bst\" },\n { n: 450, t: \"Delete Node in a BST\", d: \"Medium\", s: \"delete-node-in-a-bst\" },\n { n: 451, t: \"Sort Characters By Frequency\", d: \"Medium\", s: \"sort-characters-by-frequency\" },\n { n: 452, t: \"Minimum Number of Arrows to Burst Balloons\", d: \"Medium\", s: \"minimum-number-of-arrows-to-burst-balloons\" },\n { n: 453, t: \"Minimum Moves to Equal Array Elements\", d: \"Medium\", s: \"minimum-moves-to-equal-array-elements\" },\n { n: 454, t: \"4Sum II\", d: \"Medium\", s: \"4sum-ii\" },\n { n: 455, t: \"Assign Cookies\", d: \"Easy\", s: \"assign-cookies\" },\n { n: 456, t: \"132 Pattern\", d: \"Medium\", s: \"132-pattern\" },\n { n: 457, t: \"Circular Array Loop\", d: \"Medium\", s: \"circular-array-loop\" },\n { n: 458, t: \"Poor Pigs\", d: \"Hard\", s: \"poor-pigs\" },\n { n: 459, t: \"Repeated Substring Pattern\", d: \"Easy\", s: \"repeated-substring-pattern\" },\n { n: 460, t: \"LFU Cache\", d: \"Hard\", s: \"lfu-cache\" },\n { n: 461, t: \"Hamming Distance\", d: \"Easy\", s: \"hamming-distance\" },\n { n: 462, t: \"Minimum Moves to Equal Array Elements II\", d: \"Medium\", s: \"minimum-moves-to-equal-array-elements-ii\" },\n { n: 463, t: \"Island Perimeter\", d: \"Easy\", s: \"island-perimeter\" },\n { n: 464, t: \"Can I Win\", d: \"Medium\", s: \"can-i-win\" },\n { n: 465, t: \"Optimal Account Balancing\", d: \"Hard\", s: \"optimal-account-balancing\" },\n { n: 466, t: \"Count The Repetitions\", d: \"Hard\", s: \"count-the-repetitions\" },\n { n: 467, t: \"Unique Substrings in Wraparound String\", d: \"Medium\", s: \"unique-substrings-in-wraparound-string\" },\n { n: 468, t: \"Validate IP Address\", d: \"Medium\", s: \"validate-ip-address\" },\n { n: 469, t: \"Convex Polygon\", d: \"Medium\", s: \"convex-polygon\" },\n { n: 470, t: \"Implement Rand10() Using Rand7()\", d: \"Medium\", s: \"implement-rand10-using-rand7\" },\n { n: 471, t: \"Encode String with Shortest Length\", d: \"Hard\", s: \"encode-string-with-shortest-length\" },\n { n: 472, t: \"Concatenated Words\", d: \"Hard\", s: \"concatenated-words\" },\n { n: 473, t: \"Matchsticks to Square\", d: \"Medium\", s: \"matchsticks-to-square\" },\n { n: 474, t: \"Ones and Zeroes\", d: \"Medium\", s: \"ones-and-zeroes\" },\n { n: 475, t: \"Heaters\", d: \"Medium\", s: \"heaters\" },\n { n: 476, t: \"Number Complement\", d: \"Easy\", s: \"number-complement\" },\n { n: 477, t: \"Total Hamming Distance\", d: \"Medium\", s: \"total-hamming-distance\" },\n { n: 478, t: \"Generate Random Point in a Circle\", d: \"Medium\", s: \"generate-random-point-in-a-circle\" },\n { n: 479, t: \"Largest Palindrome Product\", d: \"Hard\", s: \"largest-palindrome-product\" },\n { n: 480, t: \"Sliding Window Median\", d: \"Hard\", s: \"sliding-window-median\" },\n { n: 481, t: \"Magical String\", d: \"Medium\", s: \"magical-string\" },\n { n: 482, t: \"License Key Formatting\", d: \"Easy\", s: \"license-key-formatting\" },\n { n: 483, t: \"Smallest Good Base\", d: \"Hard\", s: \"smallest-good-base\" },\n { n: 484, t: \"Find Permutation\", d: \"Medium\", s: \"find-permutation\" },\n { n: 485, t: \"Max Consecutive Ones\", d: \"Easy\", s: \"max-consecutive-ones\" },\n { n: 486, t: \"Predict the Winner\", d: \"Medium\", s: \"predict-the-winner\" },\n { n: 487, t: \"Max Consecutive Ones II\", d: \"Medium\", s: \"max-consecutive-ones-ii\" },\n { n: 488, t: \"Zuma Game\", d: \"Hard\", s: \"zuma-game\" },\n { n: 489, t: \"Robot Room Cleaner\", d: \"Hard\", s: \"robot-room-cleaner\" },\n { n: 490, t: \"The Maze\", d: \"Medium\", s: \"the-maze\" },\n { n: 491, t: \"Non-decreasing Subsequences\", d: \"Medium\", s: \"non-decreasing-subsequences\" },\n { n: 492, t: \"Construct the Rectangle\", d: \"Easy\", s: \"construct-the-rectangle\" },\n { n: 493, t: \"Reverse Pairs\", d: \"Hard\", s: \"reverse-pairs\" },\n { n: 494, t: \"Target Sum\", d: \"Medium\", s: \"target-sum\" },\n { n: 495, t: \"Teemo Attacking\", d: \"Easy\", s: \"teemo-attacking\" },\n { n: 496, t: \"Next Greater Element I\", d: \"Easy\", s: \"next-greater-element-i\" },\n { n: 497, t: \"Random Point in Non-overlapping Rectangles\", d: \"Medium\", s: \"random-point-in-non-overlapping-rectangles\" },\n { n: 498, t: \"Diagonal Traverse\", d: \"Medium\", s: \"diagonal-traverse\" },\n { n: 499, t: \"The Maze III\", d: \"Hard\", s: \"the-maze-iii\" },\n { n: 500, t: \"Keyboard Row\", d: \"Easy\", s: \"keyboard-row\" },\n { n: 501, t: \"Find Mode in Binary Search Tree\", d: \"Easy\", s: \"find-mode-in-binary-search-tree\" },\n { n: 502, t: \"IPO\", d: \"Hard\", s: \"ipo\" },\n { n: 503, t: \"Next Greater Element II\", d: \"Medium\", s: \"next-greater-element-ii\" },\n { n: 504, t: \"Base 7\", d: \"Easy\", s: \"base-7\" },\n { n: 505, t: \"The Maze II\", d: \"Medium\", s: \"the-maze-ii\" },\n { n: 506, t: \"Relative Ranks\", d: \"Easy\", s: \"relative-ranks\" },\n { n: 507, t: \"Perfect Number\", d: \"Easy\", s: \"perfect-number\" },\n { n: 508, t: \"Most Frequent Subtree Sum\", d: \"Medium\", s: \"most-frequent-subtree-sum\" },\n { n: 509, t: \"Fibonacci Number\", d: \"Easy\", s: \"fibonacci-number\" },\n { n: 510, t: \"Inorder Successor in BST II\", d: \"Medium\", s: \"inorder-successor-in-bst-ii\" },\n { n: 511, t: \"Game Play Analysis I\", d: \"Easy\", s: \"game-play-analysis-i\" },\n { n: 512, t: \"Game Play Analysis II\", d: \"Easy\", s: \"game-play-analysis-ii\" },\n { n: 513, t: \"Find Bottom Left Tree Value\", d: \"Medium\", s: \"find-bottom-left-tree-value\" },\n { n: 514, t: \"Freedom Trail\", d: \"Hard\", s: \"freedom-trail\" },\n { n: 515, t: \"Find Largest Value in Each Tree Row\", d: \"Medium\", s: \"find-largest-value-in-each-tree-row\" },\n { n: 516, t: \"Longest Palindromic Subsequence\", d: \"Medium\", s: \"longest-palindromic-subsequence\" },\n { n: 517, t: \"Super Washing Machines\", d: \"Hard\", s: \"super-washing-machines\" },\n { n: 518, t: \"Coin Change II\", d: \"Medium\", s: \"coin-change-ii\" },\n { n: 519, t: \"Random Flip Matrix\", d: \"Medium\", s: \"random-flip-matrix\" },\n { n: 520, t: \"Detect Capital\", d: \"Easy\", s: \"detect-capital\" },\n { n: 521, t: \"Longest Uncommon Subsequence I\", d: \"Easy\", s: \"longest-uncommon-subsequence-i\" },\n { n: 522, t: \"Longest Uncommon Subsequence II\", d: \"Medium\", s: \"longest-uncommon-subsequence-ii\" },\n { n: 523, t: \"Continuous Subarray Sum\", d: \"Medium\", s: \"continuous-subarray-sum\" },\n { n: 524, t: \"Longest Word in Dictionary through Deleting\", d: \"Medium\", s: \"longest-word-in-dictionary-through-deleting\" },\n { n: 525, t: \"Contiguous Array\", d: \"Medium\", s: \"contiguous-array\" },\n { n: 526, t: \"Beautiful Arrangement\", d: \"Medium\", s: \"beautiful-arrangement\" },\n { n: 527, t: \"Word Abbreviation\", d: \"Hard\", s: \"word-abbreviation\" },\n { n: 528, t: \"Random Pick with Weight\", d: \"Medium\", s: \"random-pick-with-weight\" },\n { n: 529, t: \"Minesweeper\", d: \"Medium\", s: \"minesweeper\" },\n { n: 530, t: \"Minimum Absolute Difference in BST\", d: \"Easy\", s: \"minimum-absolute-difference-in-bst\" },\n { n: 531, t: \"Lonely Pixel I\", d: \"Medium\", s: \"lonely-pixel-i\" },\n { n: 532, t: \"K-diff Pairs in an Array\", d: \"Medium\", s: \"k-diff-pairs-in-an-array\" },\n { n: 533, t: \"Lonely Pixel II\", d: \"Medium\", s: \"lonely-pixel-ii\" },\n { n: 534, t: \"Game Play Analysis III\", d: \"Medium\", s: \"game-play-analysis-iii\" },\n { n: 535, t: \"Encode and Decode TinyURL\", d: \"Medium\", s: \"encode-and-decode-tinyurl\" },\n { n: 536, t: \"Construct Binary Tree from String\", d: \"Medium\", s: \"construct-binary-tree-from-string\" },\n { n: 537, t: \"Complex Number Multiplication\", d: \"Medium\", s: \"complex-number-multiplication\" },\n { n: 538, t: \"Convert BST to Greater Tree\", d: \"Medium\", s: \"convert-bst-to-greater-tree\" },\n { n: 539, t: \"Minimum Time Difference\", d: \"Medium\", s: \"minimum-time-difference\" },\n { n: 540, t: \"Single Element in a Sorted Array\", d: \"Medium\", s: \"single-element-in-a-sorted-array\" },\n { n: 541, t: \"Reverse String II\", d: \"Easy\", s: \"reverse-string-ii\" },\n { n: 542, t: \"01 Matrix\", d: \"Medium\", s: \"01-matrix\" },\n { n: 543, t: \"Diameter of Binary Tree\", d: \"Easy\", s: \"diameter-of-binary-tree\" },\n { n: 544, t: \"Output Contest Matches\", d: \"Medium\", s: \"output-contest-matches\" },\n { n: 545, t: \"Boundary of Binary Tree\", d: \"Medium\", s: \"boundary-of-binary-tree\" },\n { n: 546, t: \"Remove Boxes\", d: \"Hard\", s: \"remove-boxes\" },\n { n: 547, t: \"Number of Provinces\", d: \"Medium\", s: \"number-of-provinces\" },\n { n: 548, t: \"Split Array with Equal Sum\", d: \"Hard\", s: \"split-array-with-equal-sum\" },\n { n: 549, t: \"Binary Tree Longest Consecutive Sequence II\", d: \"Medium\", s: \"binary-tree-longest-consecutive-sequence-ii\" },\n { n: 550, t: \"Game Play Analysis IV\", d: \"Medium\", s: \"game-play-analysis-iv\" },\n { n: 551, t: \"Student Attendance Record I\", d: \"Easy\", s: \"student-attendance-record-i\" },\n { n: 552, t: \"Student Attendance Record II\", d: \"Hard\", s: \"student-attendance-record-ii\" },\n { n: 553, t: \"Optimal Division\", d: \"Medium\", s: \"optimal-division\" },\n { n: 554, t: \"Brick Wall\", d: \"Medium\", s: \"brick-wall\" },\n { n: 555, t: \"Split Concatenated Strings\", d: \"Medium\", s: \"split-concatenated-strings\" },\n { n: 556, t: \"Next Greater Element III\", d: \"Medium\", s: \"next-greater-element-iii\" },\n { n: 557, t: \"Reverse Words in a String III\", d: \"Easy\", s: \"reverse-words-in-a-string-iii\" },\n { n: 558, t: \"Logical OR of Two Binary Grids Represented as Quad-Trees\", d: \"Medium\", s: \"logical-or-of-two-binary-grids-represented-as-quad-trees\" },\n { n: 559, t: \"Maximum Depth of N-ary Tree\", d: \"Easy\", s: \"maximum-depth-of-n-ary-tree\" },\n { n: 560, t: \"Subarray Sum Equals K\", d: \"Medium\", s: \"subarray-sum-equals-k\" },\n { n: 561, t: \"Array Partition\", d: \"Easy\", s: \"array-partition\" },\n { n: 562, t: \"Longest Line of Consecutive One in Matrix\", d: \"Medium\", s: \"longest-line-of-consecutive-one-in-matrix\" },\n { n: 563, t: \"Binary Tree Tilt\", d: \"Easy\", s: \"binary-tree-tilt\" },\n { n: 564, t: \"Find the Closest Palindrome\", d: \"Hard\", s: \"find-the-closest-palindrome\" },\n { n: 565, t: \"Array Nesting\", d: \"Medium\", s: \"array-nesting\" },\n { n: 566, t: \"Reshape the Matrix\", d: \"Easy\", s: \"reshape-the-matrix\" },\n { n: 567, t: \"Permutation in String\", d: \"Medium\", s: \"permutation-in-string\" },\n { n: 568, t: \"Maximum Vacation Days\", d: \"Hard\", s: \"maximum-vacation-days\" },\n { n: 569, t: \"Median Employee Salary\", d: \"Hard\", s: \"median-employee-salary\" },\n { n: 570, t: \"Managers with at Least 5 Direct Reports\", d: \"Medium\", s: \"managers-with-at-least-5-direct-reports\" },\n { n: 571, t: \"Find Median Given Frequency of Numbers\", d: \"Hard\", s: \"find-median-given-frequency-of-numbers\" },\n { n: 572, t: \"Subtree of Another Tree\", d: \"Easy\", s: \"subtree-of-another-tree\" },\n { n: 573, t: \"Squirrel Simulation\", d: \"Medium\", s: \"squirrel-simulation\" },\n { n: 574, t: \"Winning Candidate\", d: \"Medium\", s: \"winning-candidate\" },\n { n: 575, t: \"Distribute Candies\", d: \"Easy\", s: \"distribute-candies\" },\n { n: 576, t: \"Out of Boundary Paths\", d: \"Medium\", s: \"out-of-boundary-paths\" },\n { n: 577, t: \"Employee Bonus\", d: \"Easy\", s: \"employee-bonus\" },\n { n: 578, t: \"Get Highest Answer Rate Question\", d: \"Medium\", s: \"get-highest-answer-rate-question\" },\n { n: 579, t: \"Find Cumulative Salary of an Employee\", d: \"Hard\", s: \"find-cumulative-salary-of-an-employee\" },\n { n: 580, t: \"Count Student Number in Departments\", d: \"Medium\", s: \"count-student-number-in-departments\" },\n { n: 581, t: \"Shortest Unsorted Continuous Subarray\", d: \"Medium\", s: \"shortest-unsorted-continuous-subarray\" },\n { n: 582, t: \"Kill Process\", d: \"Medium\", s: \"kill-process\" },\n { n: 583, t: \"Delete Operation for Two Strings\", d: \"Medium\", s: \"delete-operation-for-two-strings\" },\n { n: 584, t: \"Find Customer Referee\", d: \"Easy\", s: \"find-customer-referee\" },\n { n: 585, t: \"Investments in 2016\", d: \"Medium\", s: \"investments-in-2016\" },\n { n: 586, t: \"Customer Placing the Largest Number of Orders\", d: \"Easy\", s: \"customer-placing-the-largest-number-of-orders\" },\n { n: 587, t: \"Erect the Fence\", d: \"Hard\", s: \"erect-the-fence\" },\n { n: 588, t: \"Design In-Memory File System\", d: \"Hard\", s: \"design-in-memory-file-system\" },\n { n: 589, t: \"N-ary Tree Preorder Traversal\", d: \"Easy\", s: \"n-ary-tree-preorder-traversal\" },\n { n: 590, t: \"N-ary Tree Postorder Traversal\", d: \"Easy\", s: \"n-ary-tree-postorder-traversal\" },\n { n: 591, t: \"Tag Validator\", d: \"Hard\", s: \"tag-validator\" },\n { n: 592, t: \"Fraction Addition and Subtraction\", d: \"Medium\", s: \"fraction-addition-and-subtraction\" },\n { n: 593, t: \"Valid Square\", d: \"Medium\", s: \"valid-square\" },\n { n: 594, t: \"Longest Harmonious Subsequence\", d: \"Easy\", s: \"longest-harmonious-subsequence\" },\n { n: 595, t: \"Big Countries\", d: \"Easy\", s: \"big-countries\" },\n { n: 596, t: \"Classes With at Least 5 Students\", d: \"Easy\", s: \"classes-with-at-least-5-students\" },\n { n: 597, t: \"Friend Requests I: Overall Acceptance Rate\", d: \"Easy\", s: \"friend-requests-i-overall-acceptance-rate\" },\n { n: 598, t: \"Range Addition II\", d: \"Easy\", s: \"range-addition-ii\" },\n { n: 599, t: \"Minimum Index Sum of Two Lists\", d: \"Easy\", s: \"minimum-index-sum-of-two-lists\" },\n { n: 600, t: \"Non-negative Integers without Consecutive Ones\", d: \"Hard\", s: \"non-negative-integers-without-consecutive-ones\" },\n { n: 601, t: \"Human Traffic of Stadium\", d: \"Hard\", s: \"human-traffic-of-stadium\" },\n { n: 602, t: \"Friend Requests II: Who Has the Most Friends\", d: \"Medium\", s: \"friend-requests-ii-who-has-the-most-friends\" },\n { n: 603, t: \"Consecutive Available Seats\", d: \"Easy\", s: \"consecutive-available-seats\" },\n { n: 604, t: \"Design Compressed String Iterator\", d: \"Easy\", s: \"design-compressed-string-iterator\" },\n { n: 605, t: \"Can Place Flowers\", d: \"Easy\", s: \"can-place-flowers\" },\n { n: 606, t: \"Construct String from Binary Tree\", d: \"Medium\", s: \"construct-string-from-binary-tree\" },\n { n: 607, t: \"Sales Person\", d: \"Easy\", s: \"sales-person\" },\n { n: 608, t: \"Tree Node\", d: \"Medium\", s: \"tree-node\" },\n { n: 609, t: \"Find Duplicate File in System\", d: \"Medium\", s: \"find-duplicate-file-in-system\" },\n { n: 610, t: \"Triangle Judgement\", d: \"Easy\", s: \"triangle-judgement\" },\n { n: 611, t: \"Valid Triangle Number\", d: \"Medium\", s: \"valid-triangle-number\" },\n { n: 612, t: \"Shortest Distance in a Plane\", d: \"Medium\", s: \"shortest-distance-in-a-plane\" },\n { n: 613, t: \"Shortest Distance in a Line\", d: \"Easy\", s: \"shortest-distance-in-a-line\" },\n { n: 614, t: \"Second Degree Follower\", d: \"Medium\", s: \"second-degree-follower\" },\n { n: 615, t: \"Average Salary: Departments VS Company\", d: \"Hard\", s: \"average-salary-departments-vs-company\" },\n { n: 616, t: \"Add Bold Tag in String\", d: \"Medium\", s: \"add-bold-tag-in-string\" },\n { n: 617, t: \"Merge Two Binary Trees\", d: \"Easy\", s: \"merge-two-binary-trees\" },\n { n: 618, t: \"Students Report By Geography\", d: \"Hard\", s: \"students-report-by-geography\" },\n { n: 619, t: \"Biggest Single Number\", d: \"Easy\", s: \"biggest-single-number\" },\n { n: 620, t: \"Not Boring Movies\", d: \"Easy\", s: \"not-boring-movies\" },\n { n: 621, t: \"Task Scheduler\", d: \"Medium\", s: \"task-scheduler\" },\n { n: 622, t: \"Design Circular Queue\", d: \"Medium\", s: \"design-circular-queue\" },\n { n: 623, t: \"Add One Row to Tree\", d: \"Medium\", s: \"add-one-row-to-tree\" },\n { n: 624, t: \"Maximum Distance in Arrays\", d: \"Medium\", s: \"maximum-distance-in-arrays\" },\n { n: 625, t: \"Minimum Factorization\", d: \"Medium\", s: \"minimum-factorization\" },\n { n: 626, t: \"Exchange Seats\", d: \"Medium\", s: \"exchange-seats\" },\n { n: 627, t: \"Swap Sex of Employees\", d: \"Easy\", s: \"swap-sex-of-employees\" },\n { n: 628, t: \"Maximum Product of Three Numbers\", d: \"Easy\", s: \"maximum-product-of-three-numbers\" },\n { n: 629, t: \"K Inverse Pairs Array\", d: \"Hard\", s: \"k-inverse-pairs-array\" },\n { n: 630, t: \"Course Schedule III\", d: \"Hard\", s: \"course-schedule-iii\" },\n { n: 631, t: \"Design Excel Sum Formula\", d: \"Hard\", s: \"design-excel-sum-formula\" },\n { n: 632, t: \"Smallest Range Covering Elements from K Lists\", d: \"Hard\", s: \"smallest-range-covering-elements-from-k-lists\" },\n { n: 633, t: \"Sum of Square Numbers\", d: \"Medium\", s: \"sum-of-square-numbers\" },\n { n: 634, t: \"Find the Derangement of An Array\", d: \"Medium\", s: \"find-the-derangement-of-an-array\" },\n { n: 635, t: \"Design Log Storage System\", d: \"Medium\", s: \"design-log-storage-system\" },\n { n: 636, t: \"Exclusive Time of Functions\", d: \"Medium\", s: \"exclusive-time-of-functions\" },\n { n: 637, t: \"Average of Levels in Binary Tree\", d: \"Easy\", s: \"average-of-levels-in-binary-tree\" },\n { n: 638, t: \"Shopping Offers\", d: \"Medium\", s: \"shopping-offers\" },\n { n: 639, t: \"Decode Ways II\", d: \"Hard\", s: \"decode-ways-ii\" },\n { n: 640, t: \"Solve the Equation\", d: \"Medium\", s: \"solve-the-equation\" },\n { n: 641, t: \"Design Circular Deque\", d: \"Medium\", s: \"design-circular-deque\" },\n { n: 642, t: \"Design Search Autocomplete System\", d: \"Hard\", s: \"design-search-autocomplete-system\" },\n { n: 643, t: \"Maximum Average Subarray I\", d: \"Easy\", s: \"maximum-average-subarray-i\" },\n { n: 644, t: \"Maximum Average Subarray II\", d: \"Hard\", s: \"maximum-average-subarray-ii\" },\n { n: 645, t: \"Set Mismatch\", d: \"Easy\", s: \"set-mismatch\" },\n { n: 646, t: \"Maximum Length of Pair Chain\", d: \"Medium\", s: \"maximum-length-of-pair-chain\" },\n { n: 647, t: \"Palindromic Substrings\", d: \"Medium\", s: \"palindromic-substrings\" },\n { n: 648, t: \"Replace Words\", d: \"Medium\", s: \"replace-words\" },\n { n: 649, t: \"Dota2 Senate\", d: \"Medium\", s: \"dota2-senate\" },\n { n: 650, t: \"2 Keys Keyboard\", d: \"Medium\", s: \"2-keys-keyboard\" },\n { n: 651, t: \"4 Keys Keyboard\", d: \"Medium\", s: \"4-keys-keyboard\" },\n { n: 652, t: \"Find Duplicate Subtrees\", d: \"Medium\", s: \"find-duplicate-subtrees\" },\n { n: 653, t: \"Two Sum IV - Input is a BST\", d: \"Easy\", s: \"two-sum-iv-input-is-a-bst\" },\n { n: 654, t: \"Maximum Binary Tree\", d: \"Medium\", s: \"maximum-binary-tree\" },\n { n: 655, t: \"Print Binary Tree\", d: \"Medium\", s: \"print-binary-tree\" },\n { n: 656, t: \"Coin Path\", d: \"Hard\", s: \"coin-path\" },\n { n: 657, t: \"Robot Return to Origin\", d: \"Easy\", s: \"robot-return-to-origin\" },\n { n: 658, t: \"Find K Closest Elements\", d: \"Medium\", s: \"find-k-closest-elements\" },\n { n: 659, t: \"Split Array into Consecutive Subsequences\", d: \"Medium\", s: \"split-array-into-consecutive-subsequences\" },\n { n: 660, t: \"Remove 9\", d: \"Hard\", s: \"remove-9\" },\n { n: 661, t: \"Image Smoother\", d: \"Easy\", s: \"image-smoother\" },\n { n: 662, t: \"Maximum Width of Binary Tree\", d: \"Medium\", s: \"maximum-width-of-binary-tree\" },\n { n: 663, t: \"Equal Tree Partition\", d: \"Medium\", s: \"equal-tree-partition\" },\n { n: 664, t: \"Strange Printer\", d: \"Hard\", s: \"strange-printer\" },\n { n: 665, t: \"Non-decreasing Array\", d: \"Medium\", s: \"non-decreasing-array\" },\n { n: 666, t: \"Path Sum IV\", d: \"Medium\", s: \"path-sum-iv\" },\n { n: 667, t: \"Beautiful Arrangement II\", d: \"Medium\", s: \"beautiful-arrangement-ii\" },\n { n: 668, t: \"Kth Smallest Number in Multiplication Table\", d: \"Hard\", s: \"kth-smallest-number-in-multiplication-table\" },\n { n: 669, t: \"Trim a Binary Search Tree\", d: \"Medium\", s: \"trim-a-binary-search-tree\" },\n { n: 670, t: \"Maximum Swap\", d: \"Medium\", s: \"maximum-swap\" },\n { n: 671, t: \"Second Minimum Node In a Binary Tree\", d: \"Easy\", s: \"second-minimum-node-in-a-binary-tree\" },\n { n: 672, t: \"Bulb Switcher II\", d: \"Medium\", s: \"bulb-switcher-ii\" },\n { n: 673, t: \"Number of Longest Increasing Subsequence\", d: \"Medium\", s: \"number-of-longest-increasing-subsequence\" },\n { n: 674, t: \"Longest Continuous Increasing Subsequence\", d: \"Easy\", s: \"longest-continuous-increasing-subsequence\" },\n { n: 675, t: \"Cut Off Trees for Golf Event\", d: \"Hard\", s: \"cut-off-trees-for-golf-event\" },\n { n: 676, t: \"Implement Magic Dictionary\", d: \"Medium\", s: \"implement-magic-dictionary\" },\n { n: 677, t: \"Map Sum Pairs\", d: \"Medium\", s: \"map-sum-pairs\" },\n { n: 678, t: \"Valid Parenthesis String\", d: \"Medium\", s: \"valid-parenthesis-string\" },\n { n: 679, t: \"24 Game\", d: \"Hard\", s: \"24-game\" },\n { n: 680, t: \"Valid Palindrome II\", d: \"Easy\", s: \"valid-palindrome-ii\" },\n { n: 681, t: \"Next Closest Time\", d: \"Medium\", s: \"next-closest-time\" },\n { n: 682, t: \"Baseball Game\", d: \"Easy\", s: \"baseball-game\" },\n { n: 683, t: \"K Empty Slots\", d: \"Hard\", s: \"k-empty-slots\" },\n { n: 684, t: \"Redundant Connection\", d: \"Medium\", s: \"redundant-connection\" },\n { n: 685, t: \"Redundant Connection II\", d: \"Hard\", s: \"redundant-connection-ii\" },\n { n: 686, t: \"Repeated String Match\", d: \"Medium\", s: \"repeated-string-match\" },\n { n: 687, t: \"Longest Univalue Path\", d: \"Medium\", s: \"longest-univalue-path\" },\n { n: 688, t: \"Knight Probability in Chessboard\", d: \"Medium\", s: \"knight-probability-in-chessboard\" },\n { n: 689, t: \"Maximum Sum of 3 Non-Overlapping Subarrays\", d: \"Hard\", s: \"maximum-sum-of-3-non-overlapping-subarrays\" },\n { n: 690, t: \"Employee Importance\", d: \"Medium\", s: \"employee-importance\" },\n { n: 691, t: \"Stickers to Spell Word\", d: \"Hard\", s: \"stickers-to-spell-word\" },\n { n: 692, t: \"Top K Frequent Words\", d: \"Medium\", s: \"top-k-frequent-words\" },\n { n: 693, t: \"Binary Number with Alternating Bits\", d: \"Easy\", s: \"binary-number-with-alternating-bits\" },\n { n: 694, t: \"Number of Distinct Islands\", d: \"Medium\", s: \"number-of-distinct-islands\" },\n { n: 695, t: \"Max Area of Island\", d: \"Medium\", s: \"max-area-of-island\" },\n { n: 696, t: \"Count Binary Substrings\", d: \"Easy\", s: \"count-binary-substrings\" },\n { n: 697, t: \"Degree of an Array\", d: \"Easy\", s: \"degree-of-an-array\" },\n { n: 698, t: \"Partition to K Equal Sum Subsets\", d: \"Medium\", s: \"partition-to-k-equal-sum-subsets\" },\n { n: 699, t: \"Falling Squares\", d: \"Hard\", s: \"falling-squares\" },\n { n: 700, t: \"Search in a Binary Search Tree\", d: \"Easy\", s: \"search-in-a-binary-search-tree\" },\n { n: 701, t: \"Insert into a Binary Search Tree\", d: \"Medium\", s: \"insert-into-a-binary-search-tree\" },\n { n: 702, t: \"Search in a Sorted Array of Unknown Size\", d: \"Medium\", s: \"search-in-a-sorted-array-of-unknown-size\" },\n { n: 703, t: \"Kth Largest Element in a Stream\", d: \"Easy\", s: \"kth-largest-element-in-a-stream\" },\n { n: 704, t: \"Binary Search\", d: \"Easy\", s: \"binary-search\" },\n { n: 705, t: \"Design HashSet\", d: \"Easy\", s: \"design-hashset\" },\n { n: 706, t: \"Design HashMap\", d: \"Easy\", s: \"design-hashmap\" },\n { n: 707, t: \"Design Linked List\", d: \"Medium\", s: \"design-linked-list\" },\n { n: 708, t: \"Insert into a Sorted Circular Linked List\", d: \"Medium\", s: \"insert-into-a-sorted-circular-linked-list\" },\n { n: 709, t: \"To Lower Case\", d: \"Easy\", s: \"to-lower-case\" },\n { n: 710, t: \"Random Pick with Blacklist\", d: \"Hard\", s: \"random-pick-with-blacklist\" },\n { n: 711, t: \"Number of Distinct Islands II\", d: \"Hard\", s: \"number-of-distinct-islands-ii\" },\n { n: 712, t: \"Minimum ASCII Delete Sum for Two Strings\", d: \"Medium\", s: \"minimum-ascii-delete-sum-for-two-strings\" },\n { n: 713, t: \"Subarray Product Less Than K\", d: \"Medium\", s: \"subarray-product-less-than-k\" },\n { n: 714, t: \"Best Time to Buy and Sell Stock with Transaction Fee\", d: \"Medium\", s: \"best-time-to-buy-and-sell-stock-with-transaction-fee\" },\n { n: 715, t: \"Range Module\", d: \"Hard\", s: \"range-module\" },\n { n: 716, t: \"Max Stack\", d: \"Hard\", s: \"max-stack\" },\n { n: 717, t: \"1-bit and 2-bit Characters\", d: \"Easy\", s: \"1-bit-and-2-bit-characters\" },\n { n: 718, t: \"Maximum Length of Repeated Subarray\", d: \"Medium\", s: \"maximum-length-of-repeated-subarray\" },\n { n: 719, t: \"Find K-th Smallest Pair Distance\", d: \"Hard\", s: \"find-k-th-smallest-pair-distance\" },\n { n: 720, t: \"Longest Word in Dictionary\", d: \"Medium\", s: \"longest-word-in-dictionary\" },\n { n: 721, t: \"Accounts Merge\", d: \"Medium\", s: \"accounts-merge\" },\n { n: 722, t: \"Remove Comments\", d: \"Medium\", s: \"remove-comments\" },\n { n: 723, t: \"Candy Crush\", d: \"Medium\", s: \"candy-crush\" },\n { n: 724, t: \"Find Pivot Index\", d: \"Easy\", s: \"find-pivot-index\" },\n { n: 725, t: \"Split Linked List in Parts\", d: \"Medium\", s: \"split-linked-list-in-parts\" },\n { n: 726, t: \"Number of Atoms\", d: \"Hard\", s: \"number-of-atoms\" },\n { n: 727, t: \"Minimum Window Subsequence\", d: \"Hard\", s: \"minimum-window-subsequence\" },\n { n: 728, t: \"Self Dividing Numbers\", d: \"Easy\", s: \"self-dividing-numbers\" },\n { n: 729, t: \"My Calendar I\", d: \"Medium\", s: \"my-calendar-i\" },\n { n: 730, t: \"Count Different Palindromic Subsequences\", d: \"Hard\", s: \"count-different-palindromic-subsequences\" },\n { n: 731, t: \"My Calendar II\", d: \"Medium\", s: \"my-calendar-ii\" },\n { n: 732, t: \"My Calendar III\", d: \"Hard\", s: \"my-calendar-iii\" },\n { n: 733, t: \"Flood Fill\", d: \"Easy\", s: \"flood-fill\" },\n { n: 734, t: \"Sentence Similarity\", d: \"Easy\", s: \"sentence-similarity\" },\n { n: 735, t: \"Asteroid Collision\", d: \"Medium\", s: \"asteroid-collision\" },\n { n: 736, t: \"Parse Lisp Expression\", d: \"Hard\", s: \"parse-lisp-expression\" },\n { n: 737, t: \"Sentence Similarity II\", d: \"Medium\", s: \"sentence-similarity-ii\" },\n { n: 738, t: \"Monotone Increasing Digits\", d: \"Medium\", s: \"monotone-increasing-digits\" },\n { n: 739, t: \"Daily Temperatures\", d: \"Medium\", s: \"daily-temperatures\" },\n { n: 740, t: \"Delete and Earn\", d: \"Medium\", s: \"delete-and-earn\" },\n { n: 741, t: \"Cherry Pickup\", d: \"Hard\", s: \"cherry-pickup\" },\n { n: 742, t: \"Closest Leaf in a Binary Tree\", d: \"Medium\", s: \"closest-leaf-in-a-binary-tree\" },\n { n: 743, t: \"Network Delay Time\", d: \"Medium\", s: \"network-delay-time\" },\n { n: 744, t: \"Find Smallest Letter Greater Than Target\", d: \"Easy\", s: \"find-smallest-letter-greater-than-target\" },\n { n: 745, t: \"Prefix and Suffix Search\", d: \"Hard\", s: \"prefix-and-suffix-search\" },\n { n: 746, t: \"Min Cost Climbing Stairs\", d: \"Easy\", s: \"min-cost-climbing-stairs\" },\n { n: 747, t: \"Largest Number At Least Twice of Others\", d: \"Easy\", s: \"largest-number-at-least-twice-of-others\" },\n { n: 748, t: \"Shortest Completing Word\", d: \"Easy\", s: \"shortest-completing-word\" },\n { n: 749, t: \"Contain Virus\", d: \"Hard\", s: \"contain-virus\" },\n { n: 750, t: \"Number Of Corner Rectangles\", d: \"Medium\", s: \"number-of-corner-rectangles\" },\n { n: 751, t: \"IP to CIDR\", d: \"Medium\", s: \"ip-to-cidr\" },\n { n: 752, t: \"Open the Lock\", d: \"Medium\", s: \"open-the-lock\" },\n { n: 753, t: \"Cracking the Safe\", d: \"Hard\", s: \"cracking-the-safe\" },\n { n: 754, t: \"Reach a Number\", d: \"Medium\", s: \"reach-a-number\" },\n { n: 755, t: \"Pour Water\", d: \"Medium\", s: \"pour-water\" },\n { n: 756, t: \"Pyramid Transition Matrix\", d: \"Medium\", s: \"pyramid-transition-matrix\" },\n { n: 757, t: \"Set Intersection Size At Least Two\", d: \"Hard\", s: \"set-intersection-size-at-least-two\" },\n { n: 758, t: \"Bold Words in String\", d: \"Medium\", s: \"bold-words-in-string\" },\n { n: 759, t: \"Employee Free Time\", d: \"Hard\", s: \"employee-free-time\" },\n { n: 760, t: \"Find Anagram Mappings\", d: \"Easy\", s: \"find-anagram-mappings\" },\n { n: 761, t: \"Special Binary String\", d: \"Hard\", s: \"special-binary-string\" },\n { n: 762, t: \"Prime Number of Set Bits in Binary Representation\", d: \"Easy\", s: \"prime-number-of-set-bits-in-binary-representation\" },\n { n: 763, t: \"Partition Labels\", d: \"Medium\", s: \"partition-labels\" },\n { n: 764, t: \"Largest Plus Sign\", d: \"Medium\", s: \"largest-plus-sign\" },\n { n: 765, t: \"Couples Holding Hands\", d: \"Hard\", s: \"couples-holding-hands\" },\n { n: 766, t: \"Toeplitz Matrix\", d: \"Easy\", s: \"toeplitz-matrix\" },\n { n: 767, t: \"Reorganize String\", d: \"Medium\", s: \"reorganize-string\" },\n { n: 768, t: \"Max Chunks To Make Sorted II\", d: \"Hard\", s: \"max-chunks-to-make-sorted-ii\" },\n { n: 769, t: \"Max Chunks To Make Sorted\", d: \"Medium\", s: \"max-chunks-to-make-sorted\" },\n { n: 770, t: \"Basic Calculator IV\", d: \"Hard\", s: \"basic-calculator-iv\" },\n { n: 771, t: \"Jewels and Stones\", d: \"Easy\", s: \"jewels-and-stones\" },\n { n: 772, t: \"Basic Calculator III\", d: \"Hard\", s: \"basic-calculator-iii\" },\n { n: 773, t: \"Sliding Puzzle\", d: \"Hard\", s: \"sliding-puzzle\" },\n { n: 774, t: \"Minimize Max Distance to Gas Station\", d: \"Hard\", s: \"minimize-max-distance-to-gas-station\" },\n { n: 775, t: \"Global and Local Inversions\", d: \"Medium\", s: \"global-and-local-inversions\" },\n { n: 776, t: \"Split BST\", d: \"Medium\", s: \"split-bst\" },\n { n: 777, t: \"Swap Adjacent in LR String\", d: \"Medium\", s: \"swap-adjacent-in-lr-string\" },\n { n: 778, t: \"Swim in Rising Water\", d: \"Hard\", s: \"swim-in-rising-water\" },\n { n: 779, t: \"K-th Symbol in Grammar\", d: \"Medium\", s: \"k-th-symbol-in-grammar\" },\n { n: 780, t: \"Reaching Points\", d: \"Hard\", s: \"reaching-points\" },\n { n: 781, t: \"Rabbits in Forest\", d: \"Medium\", s: \"rabbits-in-forest\" },\n { n: 782, t: \"Transform to Chessboard\", d: \"Hard\", s: \"transform-to-chessboard\" },\n { n: 783, t: \"Minimum Distance Between BST Nodes\", d: \"Easy\", s: \"minimum-distance-between-bst-nodes\" },\n { n: 784, t: \"Letter Case Permutation\", d: \"Medium\", s: \"letter-case-permutation\" },\n { n: 785, t: \"Is Graph Bipartite?\", d: \"Medium\", s: \"is-graph-bipartite\" },\n { n: 786, t: \"K-th Smallest Prime Fraction\", d: \"Medium\", s: \"k-th-smallest-prime-fraction\" },\n { n: 787, t: \"Cheapest Flights Within K Stops\", d: \"Medium\", s: \"cheapest-flights-within-k-stops\" },\n { n: 788, t: \"Rotated Digits\", d: \"Medium\", s: \"rotated-digits\" },\n { n: 789, t: \"Escape The Ghosts\", d: \"Medium\", s: \"escape-the-ghosts\" },\n { n: 790, t: \"Domino and Tromino Tiling\", d: \"Medium\", s: \"domino-and-tromino-tiling\" },\n { n: 791, t: \"Custom Sort String\", d: \"Medium\", s: \"custom-sort-string\" },\n { n: 792, t: \"Number of Matching Subsequences\", d: \"Medium\", s: \"number-of-matching-subsequences\" },\n { n: 793, t: \"Preimage Size of Factorial Zeroes Function\", d: \"Hard\", s: \"preimage-size-of-factorial-zeroes-function\" },\n { n: 794, t: \"Valid Tic-Tac-Toe State\", d: \"Medium\", s: \"valid-tic-tac-toe-state\" },\n { n: 795, t: \"Number of Subarrays with Bounded Maximum\", d: \"Medium\", s: \"number-of-subarrays-with-bounded-maximum\" },\n { n: 796, t: \"Rotate String\", d: \"Easy\", s: \"rotate-string\" },\n { n: 797, t: \"All Paths From Source to Target\", d: \"Medium\", s: \"all-paths-from-source-to-target\" },\n { n: 798, t: \"Smallest Rotation with Highest Score\", d: \"Hard\", s: \"smallest-rotation-with-highest-score\" },\n { n: 799, t: \"Champagne Tower\", d: \"Medium\", s: \"champagne-tower\" },\n { n: 800, t: \"Similar RGB Color\", d: \"Easy\", s: \"similar-rgb-color\" },\n { n: 801, t: \"Minimum Swaps To Make Sequences Increasing\", d: \"Hard\", s: \"minimum-swaps-to-make-sequences-increasing\" },\n { n: 802, t: \"Find Eventual Safe States\", d: \"Medium\", s: \"find-eventual-safe-states\" },\n { n: 803, t: \"Bricks Falling When Hit\", d: \"Hard\", s: \"bricks-falling-when-hit\" },\n { n: 804, t: \"Unique Morse Code Words\", d: \"Easy\", s: \"unique-morse-code-words\" },\n { n: 805, t: \"Split Array With Same Average\", d: \"Hard\", s: \"split-array-with-same-average\" },\n { n: 806, t: \"Number of Lines To Write String\", d: \"Easy\", s: \"number-of-lines-to-write-string\" },\n { n: 807, t: \"Max Increase to Keep City Skyline\", d: \"Medium\", s: \"max-increase-to-keep-city-skyline\" },\n { n: 808, t: \"Soup Servings\", d: \"Medium\", s: \"soup-servings\" },\n { n: 809, t: \"Expressive Words\", d: \"Medium\", s: \"expressive-words\" },\n { n: 810, t: \"Chalkboard XOR Game\", d: \"Hard\", s: \"chalkboard-xor-game\" },\n { n: 811, t: \"Subdomain Visit Count\", d: \"Medium\", s: \"subdomain-visit-count\" },\n { n: 812, t: \"Largest Triangle Area\", d: \"Easy\", s: \"largest-triangle-area\" },\n { n: 813, t: \"Largest Sum of Averages\", d: \"Medium\", s: \"largest-sum-of-averages\" },\n { n: 814, t: \"Binary Tree Pruning\", d: \"Medium\", s: \"binary-tree-pruning\" },\n { n: 815, t: \"Bus Routes\", d: \"Hard\", s: \"bus-routes\" },\n { n: 816, t: \"Ambiguous Coordinates\", d: \"Medium\", s: \"ambiguous-coordinates\" },\n { n: 817, t: \"Linked List Components\", d: \"Medium\", s: \"linked-list-components\" },\n { n: 818, t: \"Race Car\", d: \"Hard\", s: \"race-car\" },\n { n: 819, t: \"Most Common Word\", d: \"Easy\", s: \"most-common-word\" },\n { n: 820, t: \"Short Encoding of Words\", d: \"Medium\", s: \"short-encoding-of-words\" },\n { n: 821, t: \"Shortest Distance to a Character\", d: \"Easy\", s: \"shortest-distance-to-a-character\" },\n { n: 822, t: \"Card Flipping Game\", d: \"Medium\", s: \"card-flipping-game\" },\n { n: 823, t: \"Binary Trees With Factors\", d: \"Medium\", s: \"binary-trees-with-factors\" },\n { n: 824, t: \"Goat Latin\", d: \"Easy\", s: \"goat-latin\" },\n { n: 825, t: \"Friends Of Appropriate Ages\", d: \"Medium\", s: \"friends-of-appropriate-ages\" },\n { n: 826, t: \"Most Profit Assigning Work\", d: \"Medium\", s: \"most-profit-assigning-work\" },\n { n: 827, t: \"Making A Large Island\", d: \"Hard\", s: \"making-a-large-island\" },\n { n: 828, t: \"Count Unique Characters of All Substrings of a Given String\", d: \"Hard\", s: \"count-unique-characters-of-all-substrings-of-a-given-string\" },\n { n: 829, t: \"Consecutive Numbers Sum\", d: \"Hard\", s: \"consecutive-numbers-sum\" },\n { n: 830, t: \"Positions of Large Groups\", d: \"Easy\", s: \"positions-of-large-groups\" },\n { n: 831, t: \"Masking Personal Information\", d: \"Medium\", s: \"masking-personal-information\" },\n { n: 832, t: \"Flipping an Image\", d: \"Easy\", s: \"flipping-an-image\" },\n { n: 833, t: \"Find And Replace in String\", d: \"Medium\", s: \"find-and-replace-in-string\" },\n { n: 834, t: \"Sum of Distances in Tree\", d: \"Hard\", s: \"sum-of-distances-in-tree\" },\n { n: 835, t: \"Image Overlap\", d: \"Medium\", s: \"image-overlap\" },\n { n: 836, t: \"Rectangle Overlap\", d: \"Easy\", s: \"rectangle-overlap\" },\n { n: 837, t: \"New 21 Game\", d: \"Medium\", s: \"new-21-game\" },\n { n: 838, t: \"Push Dominoes\", d: \"Medium\", s: \"push-dominoes\" },\n { n: 839, t: \"Similar String Groups\", d: \"Hard\", s: \"similar-string-groups\" },\n { n: 840, t: \"Magic Squares In Grid\", d: \"Medium\", s: \"magic-squares-in-grid\" },\n { n: 841, t: \"Keys and Rooms\", d: \"Medium\", s: \"keys-and-rooms\" },\n { n: 842, t: \"Split Array into Fibonacci Sequence\", d: \"Medium\", s: \"split-array-into-fibonacci-sequence\" },\n { n: 843, t: \"Guess the Word\", d: \"Hard\", s: \"guess-the-word\" },\n { n: 844, t: \"Backspace String Compare\", d: \"Easy\", s: \"backspace-string-compare\" },\n { n: 845, t: \"Longest Mountain in Array\", d: \"Medium\", s: \"longest-mountain-in-array\" },\n { n: 846, t: \"Hand of Straights\", d: \"Medium\", s: \"hand-of-straights\" },\n { n: 847, t: \"Shortest Path Visiting All Nodes\", d: \"Hard\", s: \"shortest-path-visiting-all-nodes\" },\n { n: 848, t: \"Shifting Letters\", d: \"Medium\", s: \"shifting-letters\" },\n { n: 849, t: \"Maximize Distance to Closest Person\", d: \"Medium\", s: \"maximize-distance-to-closest-person\" },\n { n: 850, t: \"Rectangle Area II\", d: \"Hard\", s: \"rectangle-area-ii\" },\n { n: 851, t: \"Loud and Rich\", d: \"Medium\", s: \"loud-and-rich\" },\n { n: 852, t: \"Peak Index in a Mountain Array\", d: \"Medium\", s: \"peak-index-in-a-mountain-array\" },\n { n: 853, t: \"Car Fleet\", d: \"Medium\", s: \"car-fleet\" },\n { n: 854, t: \"K-Similar Strings\", d: \"Hard\", s: \"k-similar-strings\" },\n { n: 855, t: \"Exam Room\", d: \"Medium\", s: \"exam-room\" },\n { n: 856, t: \"Score of Parentheses\", d: \"Medium\", s: \"score-of-parentheses\" },\n { n: 857, t: \"Minimum Cost to Hire K Workers\", d: \"Hard\", s: \"minimum-cost-to-hire-k-workers\" },\n { n: 858, t: \"Mirror Reflection\", d: \"Medium\", s: \"mirror-reflection\" },\n { n: 859, t: \"Buddy Strings\", d: \"Easy\", s: \"buddy-strings\" },\n { n: 860, t: \"Lemonade Change\", d: \"Easy\", s: \"lemonade-change\" },\n { n: 861, t: \"Score After Flipping Matrix\", d: \"Medium\", s: \"score-after-flipping-matrix\" },\n { n: 862, t: \"Shortest Subarray with Sum at Least K\", d: \"Hard\", s: \"shortest-subarray-with-sum-at-least-k\" },\n { n: 863, t: \"All Nodes Distance K in Binary Tree\", d: \"Medium\", s: \"all-nodes-distance-k-in-binary-tree\" },\n { n: 864, t: \"Shortest Path to Get All Keys\", d: \"Hard\", s: \"shortest-path-to-get-all-keys\" },\n { n: 865, t: \"Smallest Subtree with all the Deepest Nodes\", d: \"Medium\", s: \"smallest-subtree-with-all-the-deepest-nodes\" },\n { n: 866, t: \"Prime Palindrome\", d: \"Medium\", s: \"prime-palindrome\" },\n { n: 867, t: \"Transpose Matrix\", d: \"Easy\", s: \"transpose-matrix\" },\n { n: 868, t: \"Binary Gap\", d: \"Easy\", s: \"binary-gap\" },\n { n: 869, t: \"Reordered Power of 2\", d: \"Medium\", s: \"reordered-power-of-2\" },\n { n: 870, t: \"Advantage Shuffle\", d: \"Medium\", s: \"advantage-shuffle\" },\n { n: 871, t: \"Minimum Number of Refueling Stops\", d: \"Hard\", s: \"minimum-number-of-refueling-stops\" },\n { n: 872, t: \"Leaf-Similar Trees\", d: \"Easy\", s: \"leaf-similar-trees\" },\n { n: 873, t: \"Length of Longest Fibonacci Subsequence\", d: \"Medium\", s: \"length-of-longest-fibonacci-subsequence\" },\n { n: 874, t: \"Walking Robot Simulation\", d: \"Medium\", s: \"walking-robot-simulation\" },\n { n: 875, t: \"Koko Eating Bananas\", d: \"Medium\", s: \"koko-eating-bananas\" },\n { n: 876, t: \"Middle of the Linked List\", d: \"Easy\", s: \"middle-of-the-linked-list\" },\n { n: 877, t: \"Stone Game\", d: \"Medium\", s: \"stone-game\" },\n { n: 878, t: \"Nth Magical Number\", d: \"Hard\", s: \"nth-magical-number\" },\n { n: 879, t: \"Profitable Schemes\", d: \"Hard\", s: \"profitable-schemes\" },\n { n: 880, t: \"Decoded String at Index\", d: \"Medium\", s: \"decoded-string-at-index\" },\n { n: 881, t: \"Boats to Save People\", d: \"Medium\", s: \"boats-to-save-people\" },\n { n: 882, t: \"Reachable Nodes In Subdivided Graph\", d: \"Hard\", s: \"reachable-nodes-in-subdivided-graph\" },\n { n: 883, t: \"Projection Area of 3D Shapes\", d: \"Easy\", s: \"projection-area-of-3d-shapes\" },\n { n: 884, t: \"Uncommon Words from Two Sentences\", d: \"Easy\", s: \"uncommon-words-from-two-sentences\" },\n { n: 885, t: \"Spiral Matrix III\", d: \"Medium\", s: \"spiral-matrix-iii\" },\n { n: 886, t: \"Possible Bipartition\", d: \"Medium\", s: \"possible-bipartition\" },\n { n: 887, t: \"Super Egg Drop\", d: \"Hard\", s: \"super-egg-drop\" },\n { n: 888, t: \"Fair Candy Swap\", d: \"Easy\", s: \"fair-candy-swap\" },\n { n: 889, t: \"Construct Binary Tree from Preorder and Postorder Traversal\", d: \"Medium\", s: \"construct-binary-tree-from-preorder-and-postorder-traversal\" },\n { n: 890, t: \"Find and Replace Pattern\", d: \"Medium\", s: \"find-and-replace-pattern\" },\n { n: 891, t: \"Sum of Subsequence Widths\", d: \"Hard\", s: \"sum-of-subsequence-widths\" },\n { n: 892, t: \"Surface Area of 3D Shapes\", d: \"Easy\", s: \"surface-area-of-3d-shapes\" },\n { n: 893, t: \"Groups of Special-Equivalent Strings\", d: \"Medium\", s: \"groups-of-special-equivalent-strings\" },\n { n: 894, t: \"All Possible Full Binary Trees\", d: \"Medium\", s: \"all-possible-full-binary-trees\" },\n { n: 895, t: \"Maximum Frequency Stack\", d: \"Hard\", s: \"maximum-frequency-stack\" },\n { n: 896, t: \"Monotonic Array\", d: \"Easy\", s: \"monotonic-array\" },\n { n: 897, t: \"Increasing Order Search Tree\", d: \"Easy\", s: \"increasing-order-search-tree\" },\n { n: 898, t: \"Bitwise ORs of Subarrays\", d: \"Medium\", s: \"bitwise-ors-of-subarrays\" },\n { n: 899, t: \"Orderly Queue\", d: \"Hard\", s: \"orderly-queue\" },\n { n: 900, t: \"RLE Iterator\", d: \"Medium\", s: \"rle-iterator\" },\n { n: 901, t: \"Online Stock Span\", d: \"Medium\", s: \"online-stock-span\" },\n { n: 902, t: \"Numbers At Most N Given Digit Set\", d: \"Hard\", s: \"numbers-at-most-n-given-digit-set\" },\n { n: 903, t: \"Valid Permutations for DI Sequence\", d: \"Hard\", s: \"valid-permutations-for-di-sequence\" },\n { n: 904, t: \"Fruit Into Baskets\", d: \"Medium\", s: \"fruit-into-baskets\" },\n { n: 905, t: \"Sort Array By Parity\", d: \"Easy\", s: \"sort-array-by-parity\" },\n { n: 906, t: \"Super Palindromes\", d: \"Hard\", s: \"super-palindromes\" },\n { n: 907, t: \"Sum of Subarray Minimums\", d: \"Medium\", s: \"sum-of-subarray-minimums\" },\n { n: 908, t: \"Smallest Range I\", d: \"Easy\", s: \"smallest-range-i\" },\n { n: 909, t: \"Snakes and Ladders\", d: \"Medium\", s: \"snakes-and-ladders\" },\n { n: 910, t: \"Smallest Range II\", d: \"Medium\", s: \"smallest-range-ii\" },\n { n: 911, t: \"Online Election\", d: \"Medium\", s: \"online-election\" },\n { n: 912, t: \"Sort an Array\", d: \"Medium\", s: \"sort-an-array\" },\n { n: 913, t: \"Cat and Mouse\", d: \"Hard\", s: \"cat-and-mouse\" },\n { n: 914, t: \"X of a Kind in a Deck of Cards\", d: \"Easy\", s: \"x-of-a-kind-in-a-deck-of-cards\" },\n { n: 915, t: \"Partition Array into Disjoint Intervals\", d: \"Medium\", s: \"partition-array-into-disjoint-intervals\" },\n { n: 916, t: \"Word Subsets\", d: \"Medium\", s: \"word-subsets\" },\n { n: 917, t: \"Reverse Only Letters\", d: \"Easy\", s: \"reverse-only-letters\" },\n { n: 918, t: \"Maximum Sum Circular Subarray\", d: \"Medium\", s: \"maximum-sum-circular-subarray\" },\n { n: 919, t: \"Complete Binary Tree Inserter\", d: \"Medium\", s: \"complete-binary-tree-inserter\" },\n { n: 920, t: \"Number of Music Playlists\", d: \"Hard\", s: \"number-of-music-playlists\" },\n { n: 921, t: \"Minimum Add to Make Parentheses Valid\", d: \"Medium\", s: \"minimum-add-to-make-parentheses-valid\" },\n { n: 922, t: \"Sort Array By Parity II\", d: \"Easy\", s: \"sort-array-by-parity-ii\" },\n { n: 923, t: \"3Sum With Multiplicity\", d: \"Medium\", s: \"3sum-with-multiplicity\" },\n { n: 924, t: \"Minimize Malware Spread\", d: \"Hard\", s: \"minimize-malware-spread\" },\n { n: 925, t: \"Long Pressed Name\", d: \"Easy\", s: \"long-pressed-name\" },\n { n: 926, t: \"Flip String to Monotone Increasing\", d: \"Medium\", s: \"flip-string-to-monotone-increasing\" },\n { n: 927, t: \"Three Equal Parts\", d: \"Hard\", s: \"three-equal-parts\" },\n { n: 928, t: \"Minimize Malware Spread II\", d: \"Hard\", s: \"minimize-malware-spread-ii\" },\n { n: 929, t: \"Unique Email Addresses\", d: \"Easy\", s: \"unique-email-addresses\" },\n { n: 930, t: \"Binary Subarrays With Sum\", d: \"Medium\", s: \"binary-subarrays-with-sum\" },\n { n: 931, t: \"Minimum Falling Path Sum\", d: \"Medium\", s: \"minimum-falling-path-sum\" },\n { n: 932, t: \"Beautiful Array\", d: \"Medium\", s: \"beautiful-array\" },\n { n: 933, t: \"Number of Recent Calls\", d: \"Easy\", s: \"number-of-recent-calls\" },\n { n: 934, t: \"Shortest Bridge\", d: \"Medium\", s: \"shortest-bridge\" },\n { n: 935, t: \"Knight Dialer\", d: \"Medium\", s: \"knight-dialer\" },\n { n: 936, t: \"Stamping The Sequence\", d: \"Hard\", s: \"stamping-the-sequence\" },\n { n: 937, t: \"Reorder Data in Log Files\", d: \"Medium\", s: \"reorder-data-in-log-files\" },\n { n: 938, t: \"Range Sum of BST\", d: \"Easy\", s: \"range-sum-of-bst\" },\n { n: 939, t: \"Minimum Area Rectangle\", d: \"Medium\", s: \"minimum-area-rectangle\" },\n { n: 940, t: \"Distinct Subsequences II\", d: \"Hard\", s: \"distinct-subsequences-ii\" },\n { n: 941, t: \"Valid Mountain Array\", d: \"Easy\", s: \"valid-mountain-array\" },\n { n: 942, t: \"DI String Match\", d: \"Easy\", s: \"di-string-match\" },\n { n: 943, t: \"Find the Shortest Superstring\", d: \"Hard\", s: \"find-the-shortest-superstring\" },\n { n: 944, t: \"Delete Columns to Make Sorted\", d: \"Easy\", s: \"delete-columns-to-make-sorted\" },\n { n: 945, t: \"Minimum Increment to Make Array Unique\", d: \"Medium\", s: \"minimum-increment-to-make-array-unique\" },\n { n: 946, t: \"Validate Stack Sequences\", d: \"Medium\", s: \"validate-stack-sequences\" },\n { n: 947, t: \"Most Stones Removed with Same Row or Column\", d: \"Medium\", s: \"most-stones-removed-with-same-row-or-column\" },\n { n: 948, t: \"Bag of Tokens\", d: \"Medium\", s: \"bag-of-tokens\" },\n { n: 949, t: \"Largest Time for Given Digits\", d: \"Medium\", s: \"largest-time-for-given-digits\" },\n { n: 950, t: \"Reveal Cards In Increasing Order\", d: \"Medium\", s: \"reveal-cards-in-increasing-order\" },\n { n: 951, t: \"Flip Equivalent Binary Trees\", d: \"Medium\", s: \"flip-equivalent-binary-trees\" },\n { n: 952, t: \"Largest Component Size by Common Factor\", d: \"Hard\", s: \"largest-component-size-by-common-factor\" },\n { n: 953, t: \"Verifying an Alien Dictionary\", d: \"Easy\", s: \"verifying-an-alien-dictionary\" },\n { n: 954, t: \"Array of Doubled Pairs\", d: \"Medium\", s: \"array-of-doubled-pairs\" },\n { n: 955, t: \"Delete Columns to Make Sorted II\", d: \"Medium\", s: \"delete-columns-to-make-sorted-ii\" },\n { n: 956, t: \"Tallest Billboard\", d: \"Hard\", s: \"tallest-billboard\" },\n { n: 957, t: \"Prison Cells After N Days\", d: \"Medium\", s: \"prison-cells-after-n-days\" },\n { n: 958, t: \"Check Completeness of a Binary Tree\", d: \"Medium\", s: \"check-completeness-of-a-binary-tree\" },\n { n: 959, t: \"Regions Cut By Slashes\", d: \"Medium\", s: \"regions-cut-by-slashes\" },\n { n: 960, t: \"Delete Columns to Make Sorted III\", d: \"Hard\", s: \"delete-columns-to-make-sorted-iii\" },\n { n: 961, t: \"N-Repeated Element in Size 2N Array\", d: \"Easy\", s: \"n-repeated-element-in-size-2n-array\" },\n { n: 962, t: \"Maximum Width Ramp\", d: \"Medium\", s: \"maximum-width-ramp\" },\n { n: 963, t: \"Minimum Area Rectangle II\", d: \"Medium\", s: \"minimum-area-rectangle-ii\" },\n { n: 964, t: \"Least Operators to Express Number\", d: \"Hard\", s: \"least-operators-to-express-number\" },\n { n: 965, t: \"Univalued Binary Tree\", d: \"Easy\", s: \"univalued-binary-tree\" },\n { n: 966, t: \"Vowel Spellchecker\", d: \"Medium\", s: \"vowel-spellchecker\" },\n { n: 967, t: \"Numbers With Same Consecutive Differences\", d: \"Medium\", s: \"numbers-with-same-consecutive-differences\" },\n { n: 968, t: \"Binary Tree Cameras\", d: \"Hard\", s: \"binary-tree-cameras\" },\n { n: 969, t: \"Pancake Sorting\", d: \"Medium\", s: \"pancake-sorting\" },\n { n: 970, t: \"Powerful Integers\", d: \"Medium\", s: \"powerful-integers\" },\n { n: 971, t: \"Flip Binary Tree To Match Preorder Traversal\", d: \"Medium\", s: \"flip-binary-tree-to-match-preorder-traversal\" },\n { n: 972, t: \"Equal Rational Numbers\", d: \"Hard\", s: \"equal-rational-numbers\" },\n { n: 973, t: \"K Closest Points to Origin\", d: \"Medium\", s: \"k-closest-points-to-origin\" },\n { n: 974, t: \"Subarray Sums Divisible by K\", d: \"Medium\", s: \"subarray-sums-divisible-by-k\" },\n { n: 975, t: \"Odd Even Jump\", d: \"Hard\", s: \"odd-even-jump\" },\n { n: 976, t: \"Largest Perimeter Triangle\", d: \"Easy\", s: \"largest-perimeter-triangle\" },\n { n: 977, t: \"Squares of a Sorted Array\", d: \"Easy\", s: \"squares-of-a-sorted-array\" },\n { n: 978, t: \"Longest Turbulent Subarray\", d: \"Medium\", s: \"longest-turbulent-subarray\" },\n { n: 979, t: \"Distribute Coins in Binary Tree\", d: \"Medium\", s: \"distribute-coins-in-binary-tree\" },\n { n: 980, t: \"Unique Paths III\", d: \"Hard\", s: \"unique-paths-iii\" },\n { n: 981, t: \"Time Based Key-Value Store\", d: \"Medium\", s: \"time-based-key-value-store\" },\n { n: 982, t: \"Triples with Bitwise AND Equal To Zero\", d: \"Hard\", s: \"triples-with-bitwise-and-equal-to-zero\" },\n { n: 983, t: \"Minimum Cost For Tickets\", d: \"Medium\", s: \"minimum-cost-for-tickets\" },\n { n: 984, t: \"String Without AAA or BBB\", d: \"Medium\", s: \"string-without-aaa-or-bbb\" },\n { n: 985, t: \"Sum of Even Numbers After Queries\", d: \"Medium\", s: \"sum-of-even-numbers-after-queries\" },\n { n: 986, t: \"Interval List Intersections\", d: \"Medium\", s: \"interval-list-intersections\" },\n { n: 987, t: \"Vertical Order Traversal of a Binary Tree\", d: \"Hard\", s: \"vertical-order-traversal-of-a-binary-tree\" },\n { n: 988, t: \"Smallest String Starting From Leaf\", d: \"Medium\", s: \"smallest-string-starting-from-leaf\" },\n { n: 989, t: \"Add to Array-Form of Integer\", d: \"Easy\", s: \"add-to-array-form-of-integer\" },\n { n: 990, t: \"Satisfiability of Equality Equations\", d: \"Medium\", s: \"satisfiability-of-equality-equations\" },\n { n: 991, t: \"Broken Calculator\", d: \"Medium\", s: \"broken-calculator\" },\n { n: 992, t: \"Subarrays with K Different Integers\", d: \"Hard\", s: \"subarrays-with-k-different-integers\" },\n { n: 993, t: \"Cousins in Binary Tree\", d: \"Easy\", s: \"cousins-in-binary-tree\" },\n { n: 994, t: \"Rotting Oranges\", d: \"Medium\", s: \"rotting-oranges\" },\n { n: 995, t: \"Minimum Number of K Consecutive Bit Flips\", d: \"Hard\", s: \"minimum-number-of-k-consecutive-bit-flips\" },\n { n: 996, t: \"Number of Squareful Arrays\", d: \"Hard\", s: \"number-of-squareful-arrays\" },\n { n: 997, t: \"Find the Town Judge\", d: \"Easy\", s: \"find-the-town-judge\" },\n { n: 998, t: \"Maximum Binary Tree II\", d: \"Medium\", s: \"maximum-binary-tree-ii\" },\n { n: 999, t: \"Available Captures for Rook\", d: \"Easy\", s: \"available-captures-for-rook\" },\n { n: 1000, t: \"Minimum Cost to Merge Stones\", d: \"Hard\", s: \"minimum-cost-to-merge-stones\" },\n { n: 1001, t: \"Grid Illumination\", d: \"Hard\", s: \"grid-illumination\" },\n { n: 1002, t: \"Find Common Characters\", d: \"Easy\", s: \"find-common-characters\" },\n { n: 1003, t: \"Check If Word Is Valid After Substitutions\", d: \"Medium\", s: \"check-if-word-is-valid-after-substitutions\" },\n { n: 1004, t: \"Max Consecutive Ones III\", d: \"Medium\", s: \"max-consecutive-ones-iii\" },\n { n: 1005, t: \"Maximize Sum Of Array After K Negations\", d: \"Easy\", s: \"maximize-sum-of-array-after-k-negations\" },\n { n: 1006, t: \"Clumsy Factorial\", d: \"Medium\", s: \"clumsy-factorial\" },\n { n: 1007, t: \"Minimum Domino Rotations For Equal Row\", d: \"Medium\", s: \"minimum-domino-rotations-for-equal-row\" },\n { n: 1008, t: \"Construct Binary Search Tree from Preorder Traversal\", d: \"Medium\", s: \"construct-binary-search-tree-from-preorder-traversal\" },\n { n: 1009, t: \"Complement of Base 10 Integer\", d: \"Easy\", s: \"complement-of-base-10-integer\" },\n { n: 1010, t: \"Pairs of Songs With Total Durations Divisible by 60\", d: \"Medium\", s: \"pairs-of-songs-with-total-durations-divisible-by-60\" },\n { n: 1011, t: \"Capacity To Ship Packages Within D Days\", d: \"Medium\", s: \"capacity-to-ship-packages-within-d-days\" },\n { n: 1012, t: \"Numbers With Repeated Digits\", d: \"Hard\", s: \"numbers-with-repeated-digits\" },\n { n: 1013, t: \"Partition Array Into Three Parts With Equal Sum\", d: \"Easy\", s: \"partition-array-into-three-parts-with-equal-sum\" },\n { n: 1014, t: \"Best Sightseeing Pair\", d: \"Medium\", s: \"best-sightseeing-pair\" },\n { n: 1015, t: \"Smallest Integer Divisible by K\", d: \"Medium\", s: \"smallest-integer-divisible-by-k\" },\n { n: 1016, t: \"Binary String With Substrings Representing 1 To N\", d: \"Medium\", s: \"binary-string-with-substrings-representing-1-to-n\" },\n { n: 1017, t: \"Convert to Base -2\", d: \"Medium\", s: \"convert-to-base-2\" },\n { n: 1018, t: \"Binary Prefix Divisible By 5\", d: \"Easy\", s: \"binary-prefix-divisible-by-5\" },\n { n: 1019, t: \"Next Greater Node In Linked List\", d: \"Medium\", s: \"next-greater-node-in-linked-list\" },\n { n: 1020, t: \"Number of Enclaves\", d: \"Medium\", s: \"number-of-enclaves\" },\n { n: 1021, t: \"Remove Outermost Parentheses\", d: \"Easy\", s: \"remove-outermost-parentheses\" },\n { n: 1022, t: \"Sum of Root To Leaf Binary Numbers\", d: \"Easy\", s: \"sum-of-root-to-leaf-binary-numbers\" },\n { n: 1023, t: \"Camelcase Matching\", d: \"Medium\", s: \"camelcase-matching\" },\n { n: 1024, t: \"Video Stitching\", d: \"Medium\", s: \"video-stitching\" },\n { n: 1025, t: \"Divisor Game\", d: \"Easy\", s: \"divisor-game\" },\n { n: 1026, t: \"Maximum Difference Between Node and Ancestor\", d: \"Medium\", s: \"maximum-difference-between-node-and-ancestor\" },\n { n: 1027, t: \"Longest Arithmetic Subsequence\", d: \"Medium\", s: \"longest-arithmetic-subsequence\" },\n { n: 1028, t: \"Recover a Tree From Preorder Traversal\", d: \"Hard\", s: \"recover-a-tree-from-preorder-traversal\" },\n { n: 1029, t: \"Two City Scheduling\", d: \"Medium\", s: \"two-city-scheduling\" },\n { n: 1030, t: \"Matrix Cells in Distance Order\", d: \"Easy\", s: \"matrix-cells-in-distance-order\" },\n { n: 1031, t: \"Maximum Sum of Two Non-Overlapping Subarrays\", d: \"Medium\", s: \"maximum-sum-of-two-non-overlapping-subarrays\" },\n { n: 1032, t: \"Stream of Characters\", d: \"Hard\", s: \"stream-of-characters\" },\n { n: 1033, t: \"Moving Stones Until Consecutive\", d: \"Medium\", s: \"moving-stones-until-consecutive\" },\n { n: 1034, t: \"Coloring A Border\", d: \"Medium\", s: \"coloring-a-border\" },\n { n: 1035, t: \"Uncrossed Lines\", d: \"Medium\", s: \"uncrossed-lines\" },\n { n: 1036, t: \"Escape a Large Maze\", d: \"Hard\", s: \"escape-a-large-maze\" },\n { n: 1037, t: \"Valid Boomerang\", d: \"Easy\", s: \"valid-boomerang\" },\n { n: 1038, t: \"Binary Search Tree to Greater Sum Tree\", d: \"Medium\", s: \"binary-search-tree-to-greater-sum-tree\" },\n { n: 1039, t: \"Minimum Score Triangulation of Polygon\", d: \"Medium\", s: \"minimum-score-triangulation-of-polygon\" },\n { n: 1040, t: \"Moving Stones Until Consecutive II\", d: \"Medium\", s: \"moving-stones-until-consecutive-ii\" },\n { n: 1041, t: \"Robot Bounded In Circle\", d: \"Medium\", s: \"robot-bounded-in-circle\" },\n { n: 1042, t: \"Flower Planting With No Adjacent\", d: \"Medium\", s: \"flower-planting-with-no-adjacent\" },\n { n: 1043, t: \"Partition Array for Maximum Sum\", d: \"Medium\", s: \"partition-array-for-maximum-sum\" },\n { n: 1044, t: \"Longest Duplicate Substring\", d: \"Hard\", s: \"longest-duplicate-substring\" },\n { n: 1045, t: \"Customers Who Bought All Products\", d: \"Medium\", s: \"customers-who-bought-all-products\" },\n { n: 1046, t: \"Last Stone Weight\", d: \"Easy\", s: \"last-stone-weight\" },\n { n: 1047, t: \"Remove All Adjacent Duplicates In String\", d: \"Easy\", s: \"remove-all-adjacent-duplicates-in-string\" },\n { n: 1048, t: \"Longest String Chain\", d: \"Medium\", s: \"longest-string-chain\" },\n { n: 1049, t: \"Last Stone Weight II\", d: \"Medium\", s: \"last-stone-weight-ii\" },\n { n: 1050, t: \"Actors and Directors Who Cooperated At Least Three Times\", d: \"Easy\", s: \"actors-and-directors-who-cooperated-at-least-three-times\" },\n { n: 1051, t: \"Height Checker\", d: \"Easy\", s: \"height-checker\" },\n { n: 1052, t: \"Grumpy Bookstore Owner\", d: \"Medium\", s: \"grumpy-bookstore-owner\" },\n { n: 1053, t: \"Previous Permutation With One Swap\", d: \"Medium\", s: \"previous-permutation-with-one-swap\" },\n { n: 1054, t: \"Distant Barcodes\", d: \"Medium\", s: \"distant-barcodes\" },\n { n: 1055, t: \"Shortest Way to Form String\", d: \"Medium\", s: \"shortest-way-to-form-string\" },\n { n: 1056, t: \"Confusing Number\", d: \"Easy\", s: \"confusing-number\" },\n { n: 1057, t: \"Campus Bikes\", d: \"Medium\", s: \"campus-bikes\" },\n { n: 1058, t: \"Minimize Rounding Error to Meet Target\", d: \"Medium\", s: \"minimize-rounding-error-to-meet-target\" },\n { n: 1059, t: \"All Paths from Source Lead to Destination\", d: \"Medium\", s: \"all-paths-from-source-lead-to-destination\" },\n { n: 1060, t: \"Missing Element in Sorted Array\", d: \"Medium\", s: \"missing-element-in-sorted-array\" },\n { n: 1061, t: \"Lexicographically Smallest Equivalent String\", d: \"Medium\", s: \"lexicographically-smallest-equivalent-string\" },\n { n: 1062, t: \"Longest Repeating Substring\", d: \"Medium\", s: \"longest-repeating-substring\" },\n { n: 1063, t: \"Number of Valid Subarrays\", d: \"Hard\", s: \"number-of-valid-subarrays\" },\n { n: 1064, t: \"Fixed Point\", d: \"Easy\", s: \"fixed-point\" },\n { n: 1065, t: \"Index Pairs of a String\", d: \"Easy\", s: \"index-pairs-of-a-string\" },\n { n: 1066, t: \"Campus Bikes II\", d: \"Medium\", s: \"campus-bikes-ii\" },\n { n: 1067, t: \"Digit Count in Range\", d: \"Hard\", s: \"digit-count-in-range\" },\n { n: 1068, t: \"Product Sales Analysis I\", d: \"Easy\", s: \"product-sales-analysis-i\" },\n { n: 1069, t: \"Product Sales Analysis II\", d: \"Easy\", s: \"product-sales-analysis-ii\" },\n { n: 1070, t: \"Product Sales Analysis III\", d: \"Medium\", s: \"product-sales-analysis-iii\" },\n { n: 1071, t: \"Greatest Common Divisor of Strings\", d: \"Easy\", s: \"greatest-common-divisor-of-strings\" },\n { n: 1072, t: \"Flip Columns For Maximum Number of Equal Rows\", d: \"Medium\", s: \"flip-columns-for-maximum-number-of-equal-rows\" },\n { n: 1073, t: \"Adding Two Negabinary Numbers\", d: \"Medium\", s: \"adding-two-negabinary-numbers\" },\n { n: 1074, t: \"Number of Submatrices That Sum to Target\", d: \"Hard\", s: \"number-of-submatrices-that-sum-to-target\" },\n { n: 1075, t: \"Project Employees I\", d: \"Easy\", s: \"project-employees-i\" },\n { n: 1076, t: \"Project Employees II\", d: \"Easy\", s: \"project-employees-ii\" },\n { n: 1077, t: \"Project Employees III\", d: \"Medium\", s: \"project-employees-iii\" },\n { n: 1078, t: \"Occurrences After Bigram\", d: \"Easy\", s: \"occurrences-after-bigram\" },\n { n: 1079, t: \"Letter Tile Possibilities\", d: \"Medium\", s: \"letter-tile-possibilities\" },\n { n: 1080, t: \"Insufficient Nodes in Root to Leaf Paths\", d: \"Medium\", s: \"insufficient-nodes-in-root-to-leaf-paths\" },\n { n: 1081, t: \"Smallest Subsequence of Distinct Characters\", d: \"Medium\", s: \"smallest-subsequence-of-distinct-characters\" },\n { n: 1082, t: \"Sales Analysis I\", d: \"Easy\", s: \"sales-analysis-i\" },\n { n: 1083, t: \"Sales Analysis II\", d: \"Easy\", s: \"sales-analysis-ii\" },\n { n: 1084, t: \"Sales Analysis III\", d: \"Easy\", s: \"sales-analysis-iii\" },\n { n: 1085, t: \"Sum of Digits in the Minimum Number\", d: \"Easy\", s: \"sum-of-digits-in-the-minimum-number\" },\n { n: 1086, t: \"High Five\", d: \"Easy\", s: \"high-five\" },\n { n: 1087, t: \"Brace Expansion\", d: \"Medium\", s: \"brace-expansion\" },\n { n: 1088, t: \"Confusing Number II\", d: \"Hard\", s: \"confusing-number-ii\" },\n { n: 1089, t: \"Duplicate Zeros\", d: \"Easy\", s: \"duplicate-zeros\" },\n { n: 1090, t: \"Largest Values From Labels\", d: \"Medium\", s: \"largest-values-from-labels\" },\n { n: 1091, t: \"Shortest Path in Binary Matrix\", d: \"Medium\", s: \"shortest-path-in-binary-matrix\" },\n { n: 1092, t: \"Shortest Common Supersequence\", d: \"Hard\", s: \"shortest-common-supersequence\" },\n { n: 1093, t: \"Statistics from a Large Sample\", d: \"Medium\", s: \"statistics-from-a-large-sample\" },\n { n: 1094, t: \"Car Pooling\", d: \"Medium\", s: \"car-pooling\" },\n { n: 1095, t: \"Find in Mountain Array\", d: \"Hard\", s: \"find-in-mountain-array\" },\n { n: 1096, t: \"Brace Expansion II\", d: \"Hard\", s: \"brace-expansion-ii\" },\n { n: 1097, t: \"Game Play Analysis V\", d: \"Hard\", s: \"game-play-analysis-v\" },\n { n: 1098, t: \"Unpopular Books\", d: \"Medium\", s: \"unpopular-books\" },\n { n: 1099, t: \"Two Sum Less Than K\", d: \"Easy\", s: \"two-sum-less-than-k\" },\n { n: 1100, t: \"Find K-Length Substrings With No Repeated Characters\", d: \"Medium\", s: \"find-k-length-substrings-with-no-repeated-characters\" },\n { n: 1101, t: \"The Earliest Moment When Everyone Become Friends\", d: \"Medium\", s: \"the-earliest-moment-when-everyone-become-friends\" },\n { n: 1102, t: \"Path With Maximum Minimum Value\", d: \"Medium\", s: \"path-with-maximum-minimum-value\" },\n { n: 1103, t: \"Distribute Candies to People\", d: \"Easy\", s: \"distribute-candies-to-people\" },\n { n: 1104, t: \"Path In Zigzag Labelled Binary Tree\", d: \"Medium\", s: \"path-in-zigzag-labelled-binary-tree\" },\n { n: 1105, t: \"Filling Bookcase Shelves\", d: \"Medium\", s: \"filling-bookcase-shelves\" },\n { n: 1106, t: \"Parsing A Boolean Expression\", d: \"Hard\", s: \"parsing-a-boolean-expression\" },\n { n: 1107, t: \"New Users Daily Count\", d: \"Medium\", s: \"new-users-daily-count\" },\n { n: 1108, t: \"Defanging an IP Address\", d: \"Easy\", s: \"defanging-an-ip-address\" },\n { n: 1109, t: \"Corporate Flight Bookings\", d: \"Medium\", s: \"corporate-flight-bookings\" },\n { n: 1110, t: \"Delete Nodes And Return Forest\", d: \"Medium\", s: \"delete-nodes-and-return-forest\" },\n { n: 1111, t: \"Maximum Nesting Depth of Two Valid Parentheses Strings\", d: \"Medium\", s: \"maximum-nesting-depth-of-two-valid-parentheses-strings\" },\n { n: 1112, t: \"Highest Grade For Each Student\", d: \"Medium\", s: \"highest-grade-for-each-student\" },\n { n: 1113, t: \"Reported Posts\", d: \"Easy\", s: \"reported-posts\" },\n { n: 1114, t: \"Print in Order\", d: \"Easy\", s: \"print-in-order\" },\n { n: 1115, t: \"Print FooBar Alternately\", d: \"Medium\", s: \"print-foobar-alternately\" },\n { n: 1116, t: \"Print Zero Even Odd\", d: \"Medium\", s: \"print-zero-even-odd\" },\n { n: 1117, t: \"Building H2O\", d: \"Medium\", s: \"building-h2o\" },\n { n: 1118, t: \"Number of Days in a Month\", d: \"Easy\", s: \"number-of-days-in-a-month\" },\n { n: 1119, t: \"Remove Vowels from a String\", d: \"Easy\", s: \"remove-vowels-from-a-string\" },\n { n: 1120, t: \"Maximum Average Subtree\", d: \"Medium\", s: \"maximum-average-subtree\" },\n { n: 1121, t: \"Divide Array Into Increasing Sequences\", d: \"Hard\", s: \"divide-array-into-increasing-sequences\" },\n { n: 1122, t: \"Relative Sort Array\", d: \"Easy\", s: \"relative-sort-array\" },\n { n: 1123, t: \"Lowest Common Ancestor of Deepest Leaves\", d: \"Medium\", s: \"lowest-common-ancestor-of-deepest-leaves\" },\n { n: 1124, t: \"Longest Well-Performing Interval\", d: \"Medium\", s: \"longest-well-performing-interval\" },\n { n: 1125, t: \"Smallest Sufficient Team\", d: \"Hard\", s: \"smallest-sufficient-team\" },\n { n: 1126, t: \"Active Businesses\", d: \"Medium\", s: \"active-businesses\" },\n { n: 1127, t: \"User Purchase Platform\", d: \"Hard\", s: \"user-purchase-platform\" },\n { n: 1128, t: \"Number of Equivalent Domino Pairs\", d: \"Easy\", s: \"number-of-equivalent-domino-pairs\" },\n { n: 1129, t: \"Shortest Path with Alternating Colors\", d: \"Medium\", s: \"shortest-path-with-alternating-colors\" },\n { n: 1130, t: \"Minimum Cost Tree From Leaf Values\", d: \"Medium\", s: \"minimum-cost-tree-from-leaf-values\" },\n { n: 1131, t: \"Maximum of Absolute Value Expression\", d: \"Medium\", s: \"maximum-of-absolute-value-expression\" },\n { n: 1132, t: \"Reported Posts II\", d: \"Medium\", s: \"reported-posts-ii\" },\n { n: 1133, t: \"Largest Unique Number\", d: \"Easy\", s: \"largest-unique-number\" },\n { n: 1134, t: \"Armstrong Number\", d: \"Easy\", s: \"armstrong-number\" },\n { n: 1135, t: \"Connecting Cities With Minimum Cost\", d: \"Medium\", s: \"connecting-cities-with-minimum-cost\" },\n { n: 1136, t: \"Parallel Courses\", d: \"Medium\", s: \"parallel-courses\" },\n { n: 1137, t: \"N-th Tribonacci Number\", d: \"Easy\", s: \"n-th-tribonacci-number\" },\n { n: 1138, t: \"Alphabet Board Path\", d: \"Medium\", s: \"alphabet-board-path\" },\n { n: 1139, t: \"Largest 1-Bordered Square\", d: \"Medium\", s: \"largest-1-bordered-square\" },\n { n: 1140, t: \"Stone Game II\", d: \"Medium\", s: \"stone-game-ii\" },\n { n: 1141, t: \"User Activity for the Past 30 Days I\", d: \"Easy\", s: \"user-activity-for-the-past-30-days-i\" },\n { n: 1142, t: \"User Activity for the Past 30 Days II\", d: \"Easy\", s: \"user-activity-for-the-past-30-days-ii\" },\n { n: 1143, t: \"Longest Common Subsequence\", d: \"Medium\", s: \"longest-common-subsequence\" },\n { n: 1144, t: \"Decrease Elements To Make Array Zigzag\", d: \"Medium\", s: \"decrease-elements-to-make-array-zigzag\" },\n { n: 1145, t: \"Binary Tree Coloring Game\", d: \"Medium\", s: \"binary-tree-coloring-game\" },\n { n: 1146, t: \"Snapshot Array\", d: \"Medium\", s: \"snapshot-array\" },\n { n: 1147, t: \"Longest Chunked Palindrome Decomposition\", d: \"Hard\", s: \"longest-chunked-palindrome-decomposition\" },\n { n: 1148, t: \"Article Views I\", d: \"Easy\", s: \"article-views-i\" },\n { n: 1149, t: \"Article Views II\", d: \"Medium\", s: \"article-views-ii\" },\n { n: 1150, t: \"Check If a Number Is Majority Element in a Sorted Array\", d: \"Easy\", s: \"check-if-a-number-is-majority-element-in-a-sorted-array\" },\n { n: 1151, t: \"Minimum Swaps to Group All 1\\'s Together\", d: \"Medium\", s: \"minimum-swaps-to-group-all-1s-together\" },\n { n: 1152, t: \"Analyze User Website Visit Pattern\", d: \"Medium\", s: \"analyze-user-website-visit-pattern\" },\n { n: 1153, t: \"String Transforms Into Another String\", d: \"Hard\", s: \"string-transforms-into-another-string\" },\n { n: 1154, t: \"Day of the Year\", d: \"Easy\", s: \"day-of-the-year\" },\n { n: 1155, t: \"Number of Dice Rolls With Target Sum\", d: \"Medium\", s: \"number-of-dice-rolls-with-target-sum\" },\n { n: 1156, t: \"Swap For Longest Repeated Character Substring\", d: \"Medium\", s: \"swap-for-longest-repeated-character-substring\" },\n { n: 1157, t: \"Online Majority Element In Subarray\", d: \"Hard\", s: \"online-majority-element-in-subarray\" },\n { n: 1158, t: \"Market Analysis I\", d: \"Medium\", s: \"market-analysis-i\" },\n { n: 1159, t: \"Market Analysis II\", d: \"Hard\", s: \"market-analysis-ii\" },\n { n: 1160, t: \"Find Words That Can Be Formed by Characters\", d: \"Easy\", s: \"find-words-that-can-be-formed-by-characters\" },\n { n: 1161, t: \"Maximum Level Sum of a Binary Tree\", d: \"Medium\", s: \"maximum-level-sum-of-a-binary-tree\" },\n { n: 1162, t: \"As Far from Land as Possible\", d: \"Medium\", s: \"as-far-from-land-as-possible\" },\n { n: 1163, t: \"Last Substring in Lexicographical Order\", d: \"Hard\", s: \"last-substring-in-lexicographical-order\" },\n { n: 1164, t: \"Product Price at a Given Date\", d: \"Medium\", s: \"product-price-at-a-given-date\" },\n { n: 1165, t: \"Single-Row Keyboard\", d: \"Easy\", s: \"single-row-keyboard\" },\n { n: 1166, t: \"Design File System\", d: \"Medium\", s: \"design-file-system\" },\n { n: 1167, t: \"Minimum Cost to Connect Sticks\", d: \"Medium\", s: \"minimum-cost-to-connect-sticks\" },\n { n: 1168, t: \"Optimize Water Distribution in a Village\", d: \"Hard\", s: \"optimize-water-distribution-in-a-village\" },\n { n: 1169, t: \"Invalid Transactions\", d: \"Medium\", s: \"invalid-transactions\" },\n { n: 1170, t: \"Compare Strings by Frequency of the Smallest Character\", d: \"Medium\", s: \"compare-strings-by-frequency-of-the-smallest-character\" },\n { n: 1171, t: \"Remove Zero Sum Consecutive Nodes from Linked List\", d: \"Medium\", s: \"remove-zero-sum-consecutive-nodes-from-linked-list\" },\n { n: 1172, t: \"Dinner Plate Stacks\", d: \"Hard\", s: \"dinner-plate-stacks\" },\n { n: 1173, t: \"Immediate Food Delivery I\", d: \"Easy\", s: \"immediate-food-delivery-i\" },\n { n: 1174, t: \"Immediate Food Delivery II\", d: \"Medium\", s: \"immediate-food-delivery-ii\" },\n { n: 1175, t: \"Prime Arrangements\", d: \"Easy\", s: \"prime-arrangements\" },\n { n: 1176, t: \"Diet Plan Performance\", d: \"Easy\", s: \"diet-plan-performance\" },\n { n: 1177, t: \"Can Make Palindrome from Substring\", d: \"Medium\", s: \"can-make-palindrome-from-substring\" },\n { n: 1178, t: \"Number of Valid Words for Each Puzzle\", d: \"Hard\", s: \"number-of-valid-words-for-each-puzzle\" },\n { n: 1179, t: \"Reformat Department Table\", d: \"Easy\", s: \"reformat-department-table\" },\n { n: 1180, t: \"Count Substrings with Only One Distinct Letter\", d: \"Easy\", s: \"count-substrings-with-only-one-distinct-letter\" },\n { n: 1181, t: \"Before and After Puzzle\", d: \"Medium\", s: \"before-and-after-puzzle\" },\n { n: 1182, t: \"Shortest Distance to Target Color\", d: \"Medium\", s: \"shortest-distance-to-target-color\" },\n { n: 1183, t: \"Maximum Number of Ones\", d: \"Hard\", s: \"maximum-number-of-ones\" },\n { n: 1184, t: \"Distance Between Bus Stops\", d: \"Easy\", s: \"distance-between-bus-stops\" },\n { n: 1185, t: \"Day of the Week\", d: \"Easy\", s: \"day-of-the-week\" },\n { n: 1186, t: \"Maximum Subarray Sum with One Deletion\", d: \"Medium\", s: \"maximum-subarray-sum-with-one-deletion\" },\n { n: 1187, t: \"Make Array Strictly Increasing\", d: \"Hard\", s: \"make-array-strictly-increasing\" },\n { n: 1188, t: \"Design Bounded Blocking Queue\", d: \"Medium\", s: \"design-bounded-blocking-queue\" },\n { n: 1189, t: \"Maximum Number of Balloons\", d: \"Easy\", s: \"maximum-number-of-balloons\" },\n { n: 1190, t: \"Reverse Substrings Between Each Pair of Parentheses\", d: \"Medium\", s: \"reverse-substrings-between-each-pair-of-parentheses\" },\n { n: 1191, t: \"K-Concatenation Maximum Sum\", d: \"Medium\", s: \"k-concatenation-maximum-sum\" },\n { n: 1192, t: \"Critical Connections in a Network\", d: \"Hard\", s: \"critical-connections-in-a-network\" },\n { n: 1193, t: \"Monthly Transactions I\", d: \"Medium\", s: \"monthly-transactions-i\" },\n { n: 1194, t: \"Tournament Winners\", d: \"Hard\", s: \"tournament-winners\" },\n { n: 1195, t: \"Fizz Buzz Multithreaded\", d: \"Medium\", s: \"fizz-buzz-multithreaded\" },\n { n: 1196, t: \"How Many Apples Can You Put into the Basket\", d: \"Easy\", s: \"how-many-apples-can-you-put-into-the-basket\" },\n { n: 1197, t: \"Minimum Knight Moves\", d: \"Medium\", s: \"minimum-knight-moves\" },\n { n: 1198, t: \"Find Smallest Common Element in All Rows\", d: \"Medium\", s: \"find-smallest-common-element-in-all-rows\" },\n { n: 1199, t: \"Minimum Time to Build Blocks\", d: \"Hard\", s: \"minimum-time-to-build-blocks\" },\n { n: 1200, t: \"Minimum Absolute Difference\", d: \"Easy\", s: \"minimum-absolute-difference\" },\n { n: 1201, t: \"Ugly Number III\", d: \"Medium\", s: \"ugly-number-iii\" },\n { n: 1202, t: \"Smallest String With Swaps\", d: \"Medium\", s: \"smallest-string-with-swaps\" },\n { n: 1203, t: \"Sort Items by Groups Respecting Dependencies\", d: \"Hard\", s: \"sort-items-by-groups-respecting-dependencies\" },\n { n: 1204, t: \"Last Person to Fit in the Bus\", d: \"Medium\", s: \"last-person-to-fit-in-the-bus\" },\n { n: 1205, t: \"Monthly Transactions II\", d: \"Medium\", s: \"monthly-transactions-ii\" },\n { n: 1206, t: \"Design Skiplist\", d: \"Hard\", s: \"design-skiplist\" },\n { n: 1207, t: \"Unique Number of Occurrences\", d: \"Easy\", s: \"unique-number-of-occurrences\" },\n { n: 1208, t: \"Get Equal Substrings Within Budget\", d: \"Medium\", s: \"get-equal-substrings-within-budget\" },\n { n: 1209, t: \"Remove All Adjacent Duplicates in String II\", d: \"Medium\", s: \"remove-all-adjacent-duplicates-in-string-ii\" },\n { n: 1210, t: \"Minimum Moves to Reach Target with Rotations\", d: \"Hard\", s: \"minimum-moves-to-reach-target-with-rotations\" },\n { n: 1211, t: \"Queries Quality and Percentage\", d: \"Easy\", s: \"queries-quality-and-percentage\" },\n { n: 1212, t: \"Team Scores in Football Tournament\", d: \"Medium\", s: \"team-scores-in-football-tournament\" },\n { n: 1213, t: \"Intersection of Three Sorted Arrays\", d: \"Easy\", s: \"intersection-of-three-sorted-arrays\" },\n { n: 1214, t: \"Two Sum BSTs\", d: \"Medium\", s: \"two-sum-bsts\" },\n { n: 1215, t: \"Stepping Numbers\", d: \"Medium\", s: \"stepping-numbers\" },\n { n: 1216, t: \"Valid Palindrome III\", d: \"Hard\", s: \"valid-palindrome-iii\" },\n { n: 1217, t: \"Minimum Cost to Move Chips to The Same Position\", d: \"Easy\", s: \"minimum-cost-to-move-chips-to-the-same-position\" },\n { n: 1218, t: \"Longest Arithmetic Subsequence of Given Difference\", d: \"Medium\", s: \"longest-arithmetic-subsequence-of-given-difference\" },\n { n: 1219, t: \"Path with Maximum Gold\", d: \"Medium\", s: \"path-with-maximum-gold\" },\n { n: 1220, t: \"Count Vowels Permutation\", d: \"Hard\", s: \"count-vowels-permutation\" },\n { n: 1221, t: \"Split a String in Balanced Strings\", d: \"Easy\", s: \"split-a-string-in-balanced-strings\" },\n { n: 1222, t: \"Queens That Can Attack the King\", d: \"Medium\", s: \"queens-that-can-attack-the-king\" },\n { n: 1223, t: \"Dice Roll Simulation\", d: \"Hard\", s: \"dice-roll-simulation\" },\n { n: 1224, t: \"Maximum Equal Frequency\", d: \"Hard\", s: \"maximum-equal-frequency\" },\n { n: 1225, t: \"Report Contiguous Dates\", d: \"Hard\", s: \"report-contiguous-dates\" },\n { n: 1226, t: \"The Dining Philosophers\", d: \"Medium\", s: \"the-dining-philosophers\" },\n { n: 1227, t: \"Airplane Seat Assignment Probability\", d: \"Medium\", s: \"airplane-seat-assignment-probability\" },\n { n: 1228, t: \"Missing Number In Arithmetic Progression\", d: \"Easy\", s: \"missing-number-in-arithmetic-progression\" },\n { n: 1229, t: \"Meeting Scheduler\", d: \"Medium\", s: \"meeting-scheduler\" },\n { n: 1230, t: \"Toss Strange Coins\", d: \"Medium\", s: \"toss-strange-coins\" },\n { n: 1231, t: \"Divide Chocolate\", d: \"Hard\", s: \"divide-chocolate\" },\n { n: 1232, t: \"Check If It Is a Straight Line\", d: \"Easy\", s: \"check-if-it-is-a-straight-line\" },\n { n: 1233, t: \"Remove Sub-Folders from the Filesystem\", d: \"Medium\", s: \"remove-sub-folders-from-the-filesystem\" },\n { n: 1234, t: \"Replace the Substring for Balanced String\", d: \"Medium\", s: \"replace-the-substring-for-balanced-string\" },\n { n: 1235, t: \"Maximum Profit in Job Scheduling\", d: \"Hard\", s: \"maximum-profit-in-job-scheduling\" },\n { n: 1236, t: \"Web Crawler\", d: \"Medium\", s: \"web-crawler\" },\n { n: 1237, t: \"Find Positive Integer Solution for a Given Equation\", d: \"Medium\", s: \"find-positive-integer-solution-for-a-given-equation\" },\n { n: 1238, t: \"Circular Permutation in Binary Representation\", d: \"Medium\", s: \"circular-permutation-in-binary-representation\" },\n { n: 1239, t: \"Maximum Length of a Concatenated String with Unique Characters\", d: \"Medium\", s: \"maximum-length-of-a-concatenated-string-with-unique-characters\" },\n { n: 1240, t: \"Tiling a Rectangle with the Fewest Squares\", d: \"Hard\", s: \"tiling-a-rectangle-with-the-fewest-squares\" },\n { n: 1241, t: \"Number of Comments per Post\", d: \"Easy\", s: \"number-of-comments-per-post\" },\n { n: 1242, t: \"Web Crawler Multithreaded\", d: \"Medium\", s: \"web-crawler-multithreaded\" },\n { n: 1243, t: \"Array Transformation\", d: \"Easy\", s: \"array-transformation\" },\n { n: 1244, t: \"Design A Leaderboard\", d: \"Medium\", s: \"design-a-leaderboard\" },\n { n: 1245, t: \"Tree Diameter\", d: \"Medium\", s: \"tree-diameter\" },\n { n: 1246, t: \"Palindrome Removal\", d: \"Hard\", s: \"palindrome-removal\" },\n { n: 1247, t: \"Minimum Swaps to Make Strings Equal\", d: \"Medium\", s: \"minimum-swaps-to-make-strings-equal\" },\n { n: 1248, t: \"Count Number of Nice Subarrays\", d: \"Medium\", s: \"count-number-of-nice-subarrays\" },\n { n: 1249, t: \"Minimum Remove to Make Valid Parentheses\", d: \"Medium\", s: \"minimum-remove-to-make-valid-parentheses\" },\n { n: 1250, t: \"Check If It Is a Good Array\", d: \"Hard\", s: \"check-if-it-is-a-good-array\" },\n { n: 1251, t: \"Average Selling Price\", d: \"Easy\", s: \"average-selling-price\" },\n { n: 1252, t: \"Cells with Odd Values in a Matrix\", d: \"Easy\", s: \"cells-with-odd-values-in-a-matrix\" },\n { n: 1253, t: \"Reconstruct a 2-Row Binary Matrix\", d: \"Medium\", s: \"reconstruct-a-2-row-binary-matrix\" },\n { n: 1254, t: \"Number of Closed Islands\", d: \"Medium\", s: \"number-of-closed-islands\" },\n { n: 1255, t: \"Maximum Score Words Formed by Letters\", d: \"Hard\", s: \"maximum-score-words-formed-by-letters\" },\n { n: 1256, t: \"Encode Number\", d: \"Medium\", s: \"encode-number\" },\n { n: 1257, t: \"Smallest Common Region\", d: \"Medium\", s: \"smallest-common-region\" },\n { n: 1258, t: \"Synonymous Sentences\", d: \"Medium\", s: \"synonymous-sentences\" },\n { n: 1259, t: \"Handshakes That Don\\'t Cross\", d: \"Hard\", s: \"handshakes-that-dont-cross\" },\n { n: 1260, t: \"Shift 2D Grid\", d: \"Easy\", s: \"shift-2d-grid\" },\n { n: 1261, t: \"Find Elements in a Contaminated Binary Tree\", d: \"Medium\", s: \"find-elements-in-a-contaminated-binary-tree\" },\n { n: 1262, t: \"Greatest Sum Divisible by Three\", d: \"Medium\", s: \"greatest-sum-divisible-by-three\" },\n { n: 1263, t: \"Minimum Moves to Move a Box to Their Target Location\", d: \"Hard\", s: \"minimum-moves-to-move-a-box-to-their-target-location\" },\n { n: 1264, t: \"Page Recommendations\", d: \"Medium\", s: \"page-recommendations\" },\n { n: 1265, t: \"Print Immutable Linked List in Reverse\", d: \"Medium\", s: \"print-immutable-linked-list-in-reverse\" },\n { n: 1266, t: \"Minimum Time Visiting All Points\", d: \"Easy\", s: \"minimum-time-visiting-all-points\" },\n { n: 1267, t: \"Count Servers that Communicate\", d: \"Medium\", s: \"count-servers-that-communicate\" },\n { n: 1268, t: \"Search Suggestions System\", d: \"Medium\", s: \"search-suggestions-system\" },\n { n: 1269, t: \"Number of Ways to Stay in the Same Place After Some Steps\", d: \"Hard\", s: \"number-of-ways-to-stay-in-the-same-place-after-some-steps\" },\n { n: 1270, t: \"All People Report to the Given Manager\", d: \"Medium\", s: \"all-people-report-to-the-given-manager\" },\n { n: 1271, t: \"Hexspeak\", d: \"Easy\", s: \"hexspeak\" },\n { n: 1272, t: \"Remove Interval\", d: \"Medium\", s: \"remove-interval\" },\n { n: 1273, t: \"Delete Tree Nodes\", d: \"Medium\", s: \"delete-tree-nodes\" },\n { n: 1274, t: \"Number of Ships in a Rectangle\", d: \"Hard\", s: \"number-of-ships-in-a-rectangle\" },\n { n: 1275, t: \"Find Winner on a Tic Tac Toe Game\", d: \"Easy\", s: \"find-winner-on-a-tic-tac-toe-game\" },\n { n: 1276, t: \"Number of Burgers with No Waste of Ingredients\", d: \"Medium\", s: \"number-of-burgers-with-no-waste-of-ingredients\" },\n { n: 1277, t: \"Count Square Submatrices with All Ones\", d: \"Medium\", s: \"count-square-submatrices-with-all-ones\" },\n { n: 1278, t: \"Palindrome Partitioning III\", d: \"Hard\", s: \"palindrome-partitioning-iii\" },\n { n: 1279, t: \"Traffic Light Controlled Intersection\", d: \"Easy\", s: \"traffic-light-controlled-intersection\" },\n { n: 1280, t: \"Students and Examinations\", d: \"Easy\", s: \"students-and-examinations\" },\n { n: 1281, t: \"Subtract the Product and Sum of Digits of an Integer\", d: \"Easy\", s: \"subtract-the-product-and-sum-of-digits-of-an-integer\" },\n { n: 1282, t: \"Group the People Given the Group Size They Belong To\", d: \"Medium\", s: \"group-the-people-given-the-group-size-they-belong-to\" },\n { n: 1283, t: \"Find the Smallest Divisor Given a Threshold\", d: \"Medium\", s: \"find-the-smallest-divisor-given-a-threshold\" },\n { n: 1284, t: \"Minimum Number of Flips to Convert Binary Matrix to Zero Matrix\", d: \"Hard\", s: \"minimum-number-of-flips-to-convert-binary-matrix-to-zero-matrix\" },\n { n: 1285, t: \"Find the Start and End Number of Continuous Ranges\", d: \"Medium\", s: \"find-the-start-and-end-number-of-continuous-ranges\" },\n { n: 1286, t: \"Iterator for Combination\", d: \"Medium\", s: \"iterator-for-combination\" },\n { n: 1287, t: \"Element Appearing More Than 25% In Sorted Array\", d: \"Easy\", s: \"element-appearing-more-than-25-in-sorted-array\" },\n { n: 1288, t: \"Remove Covered Intervals\", d: \"Medium\", s: \"remove-covered-intervals\" },\n { n: 1289, t: \"Minimum Falling Path Sum II\", d: \"Hard\", s: \"minimum-falling-path-sum-ii\" },\n { n: 1290, t: \"Convert Binary Number in a Linked List to Integer\", d: \"Easy\", s: \"convert-binary-number-in-a-linked-list-to-integer\" },\n { n: 1291, t: \"Sequential Digits\", d: \"Medium\", s: \"sequential-digits\" },\n { n: 1292, t: \"Maximum Side Length of a Square with Sum Less than or Equal to Threshold\", d: \"Medium\", s: \"maximum-side-length-of-a-square-with-sum-less-than-or-equal-to-threshold\" },\n { n: 1293, t: \"Shortest Path in a Grid with Obstacles Elimination\", d: \"Hard\", s: \"shortest-path-in-a-grid-with-obstacles-elimination\" },\n { n: 1294, t: \"Weather Type in Each Country\", d: \"Easy\", s: \"weather-type-in-each-country\" },\n { n: 1295, t: \"Find Numbers with Even Number of Digits\", d: \"Easy\", s: \"find-numbers-with-even-number-of-digits\" },\n { n: 1296, t: \"Divide Array in Sets of K Consecutive Numbers\", d: \"Medium\", s: \"divide-array-in-sets-of-k-consecutive-numbers\" },\n { n: 1297, t: \"Maximum Number of Occurrences of a Substring\", d: \"Medium\", s: \"maximum-number-of-occurrences-of-a-substring\" },\n { n: 1298, t: \"Maximum Candies You Can Get from Boxes\", d: \"Hard\", s: \"maximum-candies-you-can-get-from-boxes\" },\n { n: 1299, t: \"Replace Elements with Greatest Element on Right Side\", d: \"Easy\", s: \"replace-elements-with-greatest-element-on-right-side\" },\n { n: 1300, t: \"Sum of Mutated Array Closest to Target\", d: \"Medium\", s: \"sum-of-mutated-array-closest-to-target\" },\n { n: 1301, t: \"Number of Paths with Max Score\", d: \"Hard\", s: \"number-of-paths-with-max-score\" },\n { n: 1302, t: \"Deepest Leaves Sum\", d: \"Medium\", s: \"deepest-leaves-sum\" },\n { n: 1303, t: \"Find the Team Size\", d: \"Easy\", s: \"find-the-team-size\" },\n { n: 1304, t: \"Find N Unique Integers Sum up to Zero\", d: \"Easy\", s: \"find-n-unique-integers-sum-up-to-zero\" },\n { n: 1305, t: \"All Elements in Two Binary Search Trees\", d: \"Medium\", s: \"all-elements-in-two-binary-search-trees\" },\n { n: 1306, t: \"Jump Game III\", d: \"Medium\", s: \"jump-game-iii\" },\n { n: 1307, t: \"Verbal Arithmetic Puzzle\", d: \"Hard\", s: \"verbal-arithmetic-puzzle\" },\n { n: 1308, t: \"Running Total for Different Genders\", d: \"Medium\", s: \"running-total-for-different-genders\" },\n { n: 1309, t: \"Decrypt String from Alphabet to Integer Mapping\", d: \"Easy\", s: \"decrypt-string-from-alphabet-to-integer-mapping\" },\n { n: 1310, t: \"XOR Queries of a Subarray\", d: \"Medium\", s: \"xor-queries-of-a-subarray\" },\n { n: 1311, t: \"Get Watched Videos by Your Friends\", d: \"Medium\", s: \"get-watched-videos-by-your-friends\" },\n { n: 1312, t: \"Minimum Insertion Steps to Make a String Palindrome\", d: \"Hard\", s: \"minimum-insertion-steps-to-make-a-string-palindrome\" },\n { n: 1313, t: \"Decompress Run-Length Encoded List\", d: \"Easy\", s: \"decompress-run-length-encoded-list\" },\n { n: 1314, t: \"Matrix Block Sum\", d: \"Medium\", s: \"matrix-block-sum\" },\n { n: 1315, t: \"Sum of Nodes with Even-Valued Grandparent\", d: \"Medium\", s: \"sum-of-nodes-with-even-valued-grandparent\" },\n { n: 1316, t: \"Distinct Echo Substrings\", d: \"Hard\", s: \"distinct-echo-substrings\" },\n { n: 1317, t: \"Convert Integer to the Sum of Two No-Zero Integers\", d: \"Easy\", s: \"convert-integer-to-the-sum-of-two-no-zero-integers\" },\n { n: 1318, t: \"Minimum Flips to Make a OR b Equal to c\", d: \"Medium\", s: \"minimum-flips-to-make-a-or-b-equal-to-c\" },\n { n: 1319, t: \"Number of Operations to Make Network Connected\", d: \"Medium\", s: \"number-of-operations-to-make-network-connected\" },\n { n: 1320, t: \"Minimum Distance to Type a Word Using Two Fingers\", d: \"Hard\", s: \"minimum-distance-to-type-a-word-using-two-fingers\" },\n { n: 1321, t: \"Restaurant Growth\", d: \"Medium\", s: \"restaurant-growth\" },\n { n: 1322, t: \"Ads Performance\", d: \"Easy\", s: \"ads-performance\" },\n { n: 1323, t: \"Maximum 69 Number\", d: \"Easy\", s: \"maximum-69-number\" },\n { n: 1324, t: \"Print Words Vertically\", d: \"Medium\", s: \"print-words-vertically\" },\n { n: 1325, t: \"Delete Leaves With a Given Value\", d: \"Medium\", s: \"delete-leaves-with-a-given-value\" },\n { n: 1326, t: \"Minimum Number of Taps to Open to Water a Garden\", d: \"Hard\", s: \"minimum-number-of-taps-to-open-to-water-a-garden\" },\n { n: 1327, t: \"List the Products Ordered in a Period\", d: \"Easy\", s: \"list-the-products-ordered-in-a-period\" },\n { n: 1328, t: \"Break a Palindrome\", d: \"Medium\", s: \"break-a-palindrome\" },\n { n: 1329, t: \"Sort the Matrix Diagonally\", d: \"Medium\", s: \"sort-the-matrix-diagonally\" },\n { n: 1330, t: \"Reverse Subarray To Maximize Array Value\", d: \"Hard\", s: \"reverse-subarray-to-maximize-array-value\" },\n { n: 1331, t: \"Rank Transform of an Array\", d: \"Easy\", s: \"rank-transform-of-an-array\" },\n { n: 1332, t: \"Remove Palindromic Subsequences\", d: \"Easy\", s: \"remove-palindromic-subsequences\" },\n { n: 1333, t: \"Filter Restaurants by Vegan-Friendly, Price and Distance\", d: \"Medium\", s: \"filter-restaurants-by-vegan-friendly-price-and-distance\" },\n { n: 1334, t: \"Find the City With the Smallest Number of Neighbors at a Threshold Distance\", d: \"Medium\", s: \"find-the-city-with-the-smallest-number-of-neighbors-at-a-threshold-distance\" },\n { n: 1335, t: \"Minimum Difficulty of a Job Schedule\", d: \"Hard\", s: \"minimum-difficulty-of-a-job-schedule\" },\n { n: 1336, t: \"Number of Transactions per Visit\", d: \"Hard\", s: \"number-of-transactions-per-visit\" },\n { n: 1337, t: \"The K Weakest Rows in a Matrix\", d: \"Easy\", s: \"the-k-weakest-rows-in-a-matrix\" },\n { n: 1338, t: \"Reduce Array Size to The Half\", d: \"Medium\", s: \"reduce-array-size-to-the-half\" },\n { n: 1339, t: \"Maximum Product of Splitted Binary Tree\", d: \"Medium\", s: \"maximum-product-of-splitted-binary-tree\" },\n { n: 1340, t: \"Jump Game V\", d: \"Hard\", s: \"jump-game-v\" },\n { n: 1341, t: \"Movie Rating\", d: \"Medium\", s: \"movie-rating\" },\n { n: 1342, t: \"Number of Steps to Reduce a Number to Zero\", d: \"Easy\", s: \"number-of-steps-to-reduce-a-number-to-zero\" },\n { n: 1343, t: \"Number of Sub-arrays of Size K and Average Greater than or Equal to Threshold\", d: \"Medium\", s: \"number-of-sub-arrays-of-size-k-and-average-greater-than-or-equal-to-threshold\" },\n { n: 1344, t: \"Angle Between Hands of a Clock\", d: \"Medium\", s: \"angle-between-hands-of-a-clock\" },\n { n: 1345, t: \"Jump Game IV\", d: \"Hard\", s: \"jump-game-iv\" },\n { n: 1346, t: \"Check If N and Its Double Exist\", d: \"Easy\", s: \"check-if-n-and-its-double-exist\" },\n { n: 1347, t: \"Minimum Number of Steps to Make Two Strings Anagram\", d: \"Medium\", s: \"minimum-number-of-steps-to-make-two-strings-anagram\" },\n { n: 1348, t: \"Tweet Counts Per Frequency\", d: \"Medium\", s: \"tweet-counts-per-frequency\" },\n { n: 1349, t: \"Maximum Students Taking Exam\", d: \"Hard\", s: \"maximum-students-taking-exam\" },\n { n: 1350, t: \"Students With Invalid Departments\", d: \"Easy\", s: \"students-with-invalid-departments\" },\n { n: 1351, t: \"Count Negative Numbers in a Sorted Matrix\", d: \"Easy\", s: \"count-negative-numbers-in-a-sorted-matrix\" },\n { n: 1352, t: \"Product of the Last K Numbers\", d: \"Medium\", s: \"product-of-the-last-k-numbers\" },\n { n: 1353, t: \"Maximum Number of Events That Can Be Attended\", d: \"Medium\", s: \"maximum-number-of-events-that-can-be-attended\" },\n { n: 1354, t: \"Construct Target Array With Multiple Sums\", d: \"Hard\", s: \"construct-target-array-with-multiple-sums\" },\n { n: 1355, t: \"Activity Participants\", d: \"Medium\", s: \"activity-participants\" },\n { n: 1356, t: \"Sort Integers by The Number of 1 Bits\", d: \"Easy\", s: \"sort-integers-by-the-number-of-1-bits\" },\n { n: 1357, t: \"Apply Discount Every n Orders\", d: \"Medium\", s: \"apply-discount-every-n-orders\" },\n { n: 1358, t: \"Number of Substrings Containing All Three Characters\", d: \"Medium\", s: \"number-of-substrings-containing-all-three-characters\" },\n { n: 1359, t: \"Count All Valid Pickup and Delivery Options\", d: \"Hard\", s: \"count-all-valid-pickup-and-delivery-options\" },\n { n: 1360, t: \"Number of Days Between Two Dates\", d: \"Easy\", s: \"number-of-days-between-two-dates\" },\n { n: 1361, t: \"Validate Binary Tree Nodes\", d: \"Medium\", s: \"validate-binary-tree-nodes\" },\n { n: 1362, t: \"Closest Divisors\", d: \"Medium\", s: \"closest-divisors\" },\n { n: 1363, t: \"Largest Multiple of Three\", d: \"Hard\", s: \"largest-multiple-of-three\" },\n { n: 1364, t: \"Number of Trusted Contacts of a Customer\", d: \"Medium\", s: \"number-of-trusted-contacts-of-a-customer\" },\n { n: 1365, t: \"How Many Numbers Are Smaller Than the Current Number\", d: \"Easy\", s: \"how-many-numbers-are-smaller-than-the-current-number\" },\n { n: 1366, t: \"Rank Teams by Votes\", d: \"Medium\", s: \"rank-teams-by-votes\" },\n { n: 1367, t: \"Linked List in Binary Tree\", d: \"Medium\", s: \"linked-list-in-binary-tree\" },\n { n: 1368, t: \"Minimum Cost to Make at Least One Valid Path in a Grid\", d: \"Hard\", s: \"minimum-cost-to-make-at-least-one-valid-path-in-a-grid\" },\n { n: 1369, t: \"Get the Second Most Recent Activity\", d: \"Hard\", s: \"get-the-second-most-recent-activity\" },\n { n: 1370, t: \"Increasing Decreasing String\", d: \"Easy\", s: \"increasing-decreasing-string\" },\n { n: 1371, t: \"Find the Longest Substring Containing Vowels in Even Counts\", d: \"Medium\", s: \"find-the-longest-substring-containing-vowels-in-even-counts\" },\n { n: 1372, t: \"Longest ZigZag Path in a Binary Tree\", d: \"Medium\", s: \"longest-zigzag-path-in-a-binary-tree\" },\n { n: 1373, t: \"Maximum Sum BST in Binary Tree\", d: \"Hard\", s: \"maximum-sum-bst-in-binary-tree\" },\n { n: 1374, t: \"Generate a String With Characters That Have Odd Counts\", d: \"Easy\", s: \"generate-a-string-with-characters-that-have-odd-counts\" },\n { n: 1375, t: \"Number of Times Binary String Is Prefix-Aligned\", d: \"Medium\", s: \"number-of-times-binary-string-is-prefix-aligned\" },\n { n: 1376, t: \"Time Needed to Inform All Employees\", d: \"Medium\", s: \"time-needed-to-inform-all-employees\" },\n { n: 1377, t: \"Frog Position After T Seconds\", d: \"Hard\", s: \"frog-position-after-t-seconds\" },\n { n: 1378, t: \"Replace Employee ID With The Unique Identifier\", d: \"Easy\", s: \"replace-employee-id-with-the-unique-identifier\" },\n { n: 1379, t: \"Find a Corresponding Node of a Binary Tree in a Clone of That Tree\", d: \"Easy\", s: \"find-a-corresponding-node-of-a-binary-tree-in-a-clone-of-that-tree\" },\n { n: 1380, t: \"Lucky Numbers in a Matrix\", d: \"Easy\", s: \"lucky-numbers-in-a-matrix\" },\n { n: 1381, t: \"Design a Stack With Increment Operation\", d: \"Medium\", s: \"design-a-stack-with-increment-operation\" },\n { n: 1382, t: \"Balance a Binary Search Tree\", d: \"Medium\", s: \"balance-a-binary-search-tree\" },\n { n: 1383, t: \"Maximum Performance of a Team\", d: \"Hard\", s: \"maximum-performance-of-a-team\" },\n { n: 1384, t: \"Total Sales Amount by Year\", d: \"Hard\", s: \"total-sales-amount-by-year\" },\n { n: 1385, t: \"Find the Distance Value Between Two Arrays\", d: \"Easy\", s: \"find-the-distance-value-between-two-arrays\" },\n { n: 1386, t: \"Cinema Seat Allocation\", d: \"Medium\", s: \"cinema-seat-allocation\" },\n { n: 1387, t: \"Sort Integers by The Power Value\", d: \"Medium\", s: \"sort-integers-by-the-power-value\" },\n { n: 1388, t: \"Pizza With 3n Slices\", d: \"Hard\", s: \"pizza-with-3n-slices\" },\n { n: 1389, t: \"Create Target Array in the Given Order\", d: \"Easy\", s: \"create-target-array-in-the-given-order\" },\n { n: 1390, t: \"Four Divisors\", d: \"Medium\", s: \"four-divisors\" },\n { n: 1391, t: \"Check if There is a Valid Path in a Grid\", d: \"Medium\", s: \"check-if-there-is-a-valid-path-in-a-grid\" },\n { n: 1392, t: \"Longest Happy Prefix\", d: \"Hard\", s: \"longest-happy-prefix\" },\n { n: 1393, t: \"Capital Gain/Loss\", d: \"Medium\", s: \"capital-gainloss\" },\n { n: 1394, t: \"Find Lucky Integer in an Array\", d: \"Easy\", s: \"find-lucky-integer-in-an-array\" },\n { n: 1395, t: \"Count Number of Teams\", d: \"Medium\", s: \"count-number-of-teams\" },\n { n: 1396, t: \"Design Underground System\", d: \"Medium\", s: \"design-underground-system\" },\n { n: 1397, t: \"Find All Good Strings\", d: \"Hard\", s: \"find-all-good-strings\" },\n { n: 1398, t: \"Customers Who Bought Products A and B but Not C\", d: \"Medium\", s: \"customers-who-bought-products-a-and-b-but-not-c\" },\n { n: 1399, t: \"Count Largest Group\", d: \"Easy\", s: \"count-largest-group\" },\n { n: 1400, t: \"Construct K Palindrome Strings\", d: \"Medium\", s: \"construct-k-palindrome-strings\" },\n { n: 1401, t: \"Circle and Rectangle Overlapping\", d: \"Medium\", s: \"circle-and-rectangle-overlapping\" },\n { n: 1402, t: \"Reducing Dishes\", d: \"Hard\", s: \"reducing-dishes\" },\n { n: 1403, t: \"Minimum Subsequence in Non-Increasing Order\", d: \"Easy\", s: \"minimum-subsequence-in-non-increasing-order\" },\n { n: 1404, t: \"Number of Steps to Reduce a Number in Binary Representation to One\", d: \"Medium\", s: \"number-of-steps-to-reduce-a-number-in-binary-representation-to-one\" },\n { n: 1405, t: \"Longest Happy String\", d: \"Medium\", s: \"longest-happy-string\" },\n { n: 1406, t: \"Stone Game III\", d: \"Hard\", s: \"stone-game-iii\" },\n { n: 1407, t: \"Top Travellers\", d: \"Easy\", s: \"top-travellers\" },\n { n: 1408, t: \"String Matching in an Array\", d: \"Easy\", s: \"string-matching-in-an-array\" },\n { n: 1409, t: \"Queries on a Permutation With Key\", d: \"Medium\", s: \"queries-on-a-permutation-with-key\" },\n { n: 1410, t: \"HTML Entity Parser\", d: \"Medium\", s: \"html-entity-parser\" },\n { n: 1411, t: \"Number of Ways to Paint N × 3 Grid\", d: \"Hard\", s: \"number-of-ways-to-paint-n-3-grid\" },\n { n: 1412, t: \"Find the Quiet Students in All Exams\", d: \"Hard\", s: \"find-the-quiet-students-in-all-exams\" },\n { n: 1413, t: \"Minimum Value to Get Positive Step by Step Sum\", d: \"Easy\", s: \"minimum-value-to-get-positive-step-by-step-sum\" },\n { n: 1414, t: \"Find the Minimum Number of Fibonacci Numbers Whose Sum Is K\", d: \"Medium\", s: \"find-the-minimum-number-of-fibonacci-numbers-whose-sum-is-k\" },\n { n: 1415, t: \"The k-th Lexicographical String of All Happy Strings of Length n\", d: \"Medium\", s: \"the-k-th-lexicographical-string-of-all-happy-strings-of-length-n\" },\n { n: 1416, t: \"Restore The Array\", d: \"Hard\", s: \"restore-the-array\" },\n { n: 1417, t: \"Reformat The String\", d: \"Easy\", s: \"reformat-the-string\" },\n { n: 1418, t: \"Display Table of Food Orders in a Restaurant\", d: \"Medium\", s: \"display-table-of-food-orders-in-a-restaurant\" },\n { n: 1419, t: \"Minimum Number of Frogs Croaking\", d: \"Medium\", s: \"minimum-number-of-frogs-croaking\" },\n { n: 1420, t: \"Build Array Where You Can Find The Maximum Exactly K Comparisons\", d: \"Hard\", s: \"build-array-where-you-can-find-the-maximum-exactly-k-comparisons\" },\n { n: 1421, t: \"NPV Queries\", d: \"Easy\", s: \"npv-queries\" },\n { n: 1422, t: \"Maximum Score After Splitting a String\", d: \"Easy\", s: \"maximum-score-after-splitting-a-string\" },\n { n: 1423, t: \"Maximum Points You Can Obtain from Cards\", d: \"Medium\", s: \"maximum-points-you-can-obtain-from-cards\" },\n { n: 1424, t: \"Diagonal Traverse II\", d: \"Medium\", s: \"diagonal-traverse-ii\" },\n { n: 1425, t: \"Constrained Subsequence Sum\", d: \"Hard\", s: \"constrained-subsequence-sum\" },\n { n: 1426, t: \"Counting Elements\", d: \"Easy\", s: \"counting-elements\" },\n { n: 1427, t: \"Perform String Shifts\", d: \"Easy\", s: \"perform-string-shifts\" },\n { n: 1428, t: \"Leftmost Column with at Least a One\", d: \"Medium\", s: \"leftmost-column-with-at-least-a-one\" },\n { n: 1429, t: \"First Unique Number\", d: \"Medium\", s: \"first-unique-number\" },\n { n: 1430, t: \"Check If a String Is a Valid Sequence from Root to Leaves Path in a Binary Tree\", d: \"Medium\", s: \"check-if-a-string-is-a-valid-sequence-from-root-to-leaves-path-in-a-binary-tree\" },\n { n: 1431, t: \"Kids With the Greatest Number of Candies\", d: \"Easy\", s: \"kids-with-the-greatest-number-of-candies\" },\n { n: 1432, t: \"Max Difference You Can Get From Changing an Integer\", d: \"Medium\", s: \"max-difference-you-can-get-from-changing-an-integer\" },\n { n: 1433, t: \"Check If a String Can Break Another String\", d: \"Medium\", s: \"check-if-a-string-can-break-another-string\" },\n { n: 1434, t: \"Number of Ways to Wear Different Hats to Each Other\", d: \"Hard\", s: \"number-of-ways-to-wear-different-hats-to-each-other\" },\n { n: 1435, t: \"Create a Session Bar Chart\", d: \"Easy\", s: \"create-a-session-bar-chart\" },\n { n: 1436, t: \"Destination City\", d: \"Easy\", s: \"destination-city\" },\n { n: 1437, t: \"Check If All 1\\'s Are at Least Length K Places Away\", d: \"Easy\", s: \"check-if-all-1s-are-at-least-length-k-places-away\" },\n { n: 1438, t: \"Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit\", d: \"Medium\", s: \"longest-continuous-subarray-with-absolute-diff-less-than-or-equal-to-limit\" },\n { n: 1439, t: \"Find the Kth Smallest Sum of a Matrix With Sorted Rows\", d: \"Hard\", s: \"find-the-kth-smallest-sum-of-a-matrix-with-sorted-rows\" },\n { n: 1440, t: \"Evaluate Boolean Expression\", d: \"Medium\", s: \"evaluate-boolean-expression\" },\n { n: 1441, t: \"Build an Array With Stack Operations\", d: \"Medium\", s: \"build-an-array-with-stack-operations\" },\n { n: 1442, t: \"Count Triplets That Can Form Two Arrays of Equal XOR\", d: \"Medium\", s: \"count-triplets-that-can-form-two-arrays-of-equal-xor\" },\n { n: 1443, t: \"Minimum Time to Collect All Apples in a Tree\", d: \"Medium\", s: \"minimum-time-to-collect-all-apples-in-a-tree\" },\n { n: 1444, t: \"Number of Ways of Cutting a Pizza\", d: \"Hard\", s: \"number-of-ways-of-cutting-a-pizza\" },\n { n: 1445, t: \"Apples & Oranges\", d: \"Medium\", s: \"apples-oranges\" },\n { n: 1446, t: \"Consecutive Characters\", d: \"Easy\", s: \"consecutive-characters\" },\n { n: 1447, t: \"Simplified Fractions\", d: \"Medium\", s: \"simplified-fractions\" },\n { n: 1448, t: \"Count Good Nodes in Binary Tree\", d: \"Medium\", s: \"count-good-nodes-in-binary-tree\" },\n { n: 1449, t: \"Form Largest Integer With Digits That Add up to Target\", d: \"Hard\", s: \"form-largest-integer-with-digits-that-add-up-to-target\" },\n { n: 1450, t: \"Number of Students Doing Homework at a Given Time\", d: \"Easy\", s: \"number-of-students-doing-homework-at-a-given-time\" },\n { n: 1451, t: \"Rearrange Words in a Sentence\", d: \"Medium\", s: \"rearrange-words-in-a-sentence\" },\n { n: 1452, t: \"People Whose List of Favorite Companies Is Not a Subset of Another List\", d: \"Medium\", s: \"people-whose-list-of-favorite-companies-is-not-a-subset-of-another-list\" },\n { n: 1453, t: \"Maximum Number of Darts Inside of a Circular Dartboard\", d: \"Hard\", s: \"maximum-number-of-darts-inside-of-a-circular-dartboard\" },\n { n: 1454, t: \"Active Users\", d: \"Medium\", s: \"active-users\" },\n { n: 1455, t: \"Check If a Word Occurs As a Prefix of Any Word in a Sentence\", d: \"Easy\", s: \"check-if-a-word-occurs-as-a-prefix-of-any-word-in-a-sentence\" },\n { n: 1456, t: \"Maximum Number of Vowels in a Substring of Given Length\", d: \"Medium\", s: \"maximum-number-of-vowels-in-a-substring-of-given-length\" },\n { n: 1457, t: \"Pseudo-Palindromic Paths in a Binary Tree\", d: \"Medium\", s: \"pseudo-palindromic-paths-in-a-binary-tree\" },\n { n: 1458, t: \"Max Dot Product of Two Subsequences\", d: \"Hard\", s: \"max-dot-product-of-two-subsequences\" },\n { n: 1459, t: \"Rectangles Area\", d: \"Medium\", s: \"rectangles-area\" },\n { n: 1460, t: \"Make Two Arrays Equal by Reversing Subarrays\", d: \"Easy\", s: \"make-two-arrays-equal-by-reversing-subarrays\" },\n { n: 1461, t: \"Check If a String Contains All Binary Codes of Size K\", d: \"Medium\", s: \"check-if-a-string-contains-all-binary-codes-of-size-k\" },\n { n: 1462, t: \"Course Schedule IV\", d: \"Medium\", s: \"course-schedule-iv\" },\n { n: 1463, t: \"Cherry Pickup II\", d: \"Hard\", s: \"cherry-pickup-ii\" },\n { n: 1464, t: \"Maximum Product of Two Elements in an Array\", d: \"Easy\", s: \"maximum-product-of-two-elements-in-an-array\" },\n { n: 1465, t: \"Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts\", d: \"Medium\", s: \"maximum-area-of-a-piece-of-cake-after-horizontal-and-vertical-cuts\" },\n { n: 1466, t: \"Reorder Routes to Make All Paths Lead to the City Zero\", d: \"Medium\", s: \"reorder-routes-to-make-all-paths-lead-to-the-city-zero\" },\n { n: 1467, t: \"Probability of a Two Boxes Having The Same Number of Distinct Balls\", d: \"Hard\", s: \"probability-of-a-two-boxes-having-the-same-number-of-distinct-balls\" },\n { n: 1468, t: \"Calculate Salaries\", d: \"Medium\", s: \"calculate-salaries\" },\n { n: 1469, t: \"Find All The Lonely Nodes\", d: \"Easy\", s: \"find-all-the-lonely-nodes\" },\n { n: 1470, t: \"Shuffle the Array\", d: \"Easy\", s: \"shuffle-the-array\" },\n { n: 1471, t: \"The k Strongest Values in an Array\", d: \"Medium\", s: \"the-k-strongest-values-in-an-array\" },\n { n: 1472, t: \"Design Browser History\", d: \"Medium\", s: \"design-browser-history\" },\n { n: 1473, t: \"Paint House III\", d: \"Hard\", s: \"paint-house-iii\" },\n { n: 1474, t: \"Delete N Nodes After M Nodes of a Linked List\", d: \"Easy\", s: \"delete-n-nodes-after-m-nodes-of-a-linked-list\" },\n { n: 1475, t: \"Final Prices With a Special Discount in a Shop\", d: \"Easy\", s: \"final-prices-with-a-special-discount-in-a-shop\" },\n { n: 1476, t: \"Subrectangle Queries\", d: \"Medium\", s: \"subrectangle-queries\" },\n { n: 1477, t: \"Find Two Non-overlapping Sub-arrays Each With Target Sum\", d: \"Medium\", s: \"find-two-non-overlapping-sub-arrays-each-with-target-sum\" },\n { n: 1478, t: \"Allocate Mailboxes\", d: \"Hard\", s: \"allocate-mailboxes\" },\n { n: 1479, t: \"Sales by Day of the Week\", d: \"Hard\", s: \"sales-by-day-of-the-week\" },\n { n: 1480, t: \"Running Sum of 1d Array\", d: \"Easy\", s: \"running-sum-of-1d-array\" },\n { n: 1481, t: \"Least Number of Unique Integers after K Removals\", d: \"Medium\", s: \"least-number-of-unique-integers-after-k-removals\" },\n { n: 1482, t: \"Minimum Number of Days to Make m Bouquets\", d: \"Medium\", s: \"minimum-number-of-days-to-make-m-bouquets\" },\n { n: 1483, t: \"Kth Ancestor of a Tree Node\", d: \"Hard\", s: \"kth-ancestor-of-a-tree-node\" },\n { n: 1484, t: \"Group Sold Products By The Date\", d: \"Easy\", s: \"group-sold-products-by-the-date\" },\n { n: 1485, t: \"Clone Binary Tree With Random Pointer\", d: \"Medium\", s: \"clone-binary-tree-with-random-pointer\" },\n { n: 1486, t: \"XOR Operation in an Array\", d: \"Easy\", s: \"xor-operation-in-an-array\" },\n { n: 1487, t: \"Making File Names Unique\", d: \"Medium\", s: \"making-file-names-unique\" },\n { n: 1488, t: \"Avoid Flood in The City\", d: \"Medium\", s: \"avoid-flood-in-the-city\" },\n { n: 1489, t: \"Find Critical and Pseudo-Critical Edges in Minimum Spanning Tree\", d: \"Hard\", s: \"find-critical-and-pseudo-critical-edges-in-minimum-spanning-tree\" },\n { n: 1490, t: \"Clone N-ary Tree\", d: \"Medium\", s: \"clone-n-ary-tree\" },\n { n: 1491, t: \"Average Salary Excluding the Minimum and Maximum Salary\", d: \"Easy\", s: \"average-salary-excluding-the-minimum-and-maximum-salary\" },\n { n: 1492, t: \"The kth Factor of n\", d: \"Medium\", s: \"the-kth-factor-of-n\" },\n { n: 1493, t: \"Longest Subarray of 1\\'s After Deleting One Element\", d: \"Medium\", s: \"longest-subarray-of-1s-after-deleting-one-element\" },\n { n: 1494, t: \"Parallel Courses II\", d: \"Hard\", s: \"parallel-courses-ii\" },\n { n: 1495, t: \"Friendly Movies Streamed Last Month\", d: \"Easy\", s: \"friendly-movies-streamed-last-month\" },\n { n: 1496, t: \"Path Crossing\", d: \"Easy\", s: \"path-crossing\" },\n { n: 1497, t: \"Check If Array Pairs Are Divisible by k\", d: \"Medium\", s: \"check-if-array-pairs-are-divisible-by-k\" },\n { n: 1498, t: \"Number of Subsequences That Satisfy the Given Sum Condition\", d: \"Medium\", s: \"number-of-subsequences-that-satisfy-the-given-sum-condition\" },\n { n: 1499, t: \"Max Value of Equation\", d: \"Hard\", s: \"max-value-of-equation\" },\n { n: 1500, t: \"Design a File Sharing System\", d: \"Medium\", s: \"design-a-file-sharing-system\" },\n { n: 1501, t: \"Countries You Can Safely Invest In\", d: \"Medium\", s: \"countries-you-can-safely-invest-in\" },\n { n: 1502, t: \"Can Make Arithmetic Progression From Sequence\", d: \"Easy\", s: \"can-make-arithmetic-progression-from-sequence\" },\n { n: 1503, t: \"Last Moment Before All Ants Fall Out of a Plank\", d: \"Medium\", s: \"last-moment-before-all-ants-fall-out-of-a-plank\" },\n { n: 1504, t: \"Count Submatrices With All Ones\", d: \"Medium\", s: \"count-submatrices-with-all-ones\" },\n { n: 1505, t: \"Minimum Possible Integer After at Most K Adjacent Swaps On Digits\", d: \"Hard\", s: \"minimum-possible-integer-after-at-most-k-adjacent-swaps-on-digits\" },\n { n: 1506, t: \"Find Root of N-Ary Tree\", d: \"Medium\", s: \"find-root-of-n-ary-tree\" },\n { n: 1507, t: \"Reformat Date\", d: \"Easy\", s: \"reformat-date\" },\n { n: 1508, t: \"Range Sum of Sorted Subarray Sums\", d: \"Medium\", s: \"range-sum-of-sorted-subarray-sums\" },\n { n: 1509, t: \"Minimum Difference Between Largest and Smallest Value in Three Moves\", d: \"Medium\", s: \"minimum-difference-between-largest-and-smallest-value-in-three-moves\" },\n { n: 1510, t: \"Stone Game IV\", d: \"Hard\", s: \"stone-game-iv\" },\n { n: 1511, t: \"Customer Order Frequency\", d: \"Easy\", s: \"customer-order-frequency\" },\n { n: 1512, t: \"Number of Good Pairs\", d: \"Easy\", s: \"number-of-good-pairs\" },\n { n: 1513, t: \"Number of Substrings With Only 1s\", d: \"Medium\", s: \"number-of-substrings-with-only-1s\" },\n { n: 1514, t: \"Path with Maximum Probability\", d: \"Medium\", s: \"path-with-maximum-probability\" },\n { n: 1515, t: \"Best Position for a Service Centre\", d: \"Hard\", s: \"best-position-for-a-service-centre\" },\n { n: 1516, t: \"Move Sub-Tree of N-Ary Tree\", d: \"Hard\", s: \"move-sub-tree-of-n-ary-tree\" },\n { n: 1517, t: \"Find Users With Valid E-Mails\", d: \"Easy\", s: \"find-users-with-valid-e-mails\" },\n { n: 1518, t: \"Water Bottles\", d: \"Easy\", s: \"water-bottles\" },\n { n: 1519, t: \"Number of Nodes in the Sub-Tree With the Same Label\", d: \"Medium\", s: \"number-of-nodes-in-the-sub-tree-with-the-same-label\" },\n { n: 1520, t: \"Maximum Number of Non-Overlapping Substrings\", d: \"Hard\", s: \"maximum-number-of-non-overlapping-substrings\" },\n { n: 1521, t: \"Find a Value of a Mysterious Function Closest to Target\", d: \"Hard\", s: \"find-a-value-of-a-mysterious-function-closest-to-target\" },\n { n: 1522, t: \"Diameter of N-Ary Tree\", d: \"Medium\", s: \"diameter-of-n-ary-tree\" },\n { n: 1523, t: \"Count Odd Numbers in an Interval Range\", d: \"Easy\", s: \"count-odd-numbers-in-an-interval-range\" },\n { n: 1524, t: \"Number of Sub-arrays With Odd Sum\", d: \"Medium\", s: \"number-of-sub-arrays-with-odd-sum\" },\n { n: 1525, t: \"Number of Good Ways to Split a String\", d: \"Medium\", s: \"number-of-good-ways-to-split-a-string\" },\n { n: 1526, t: \"Minimum Number of Increments on Subarrays to Form a Target Array\", d: \"Hard\", s: \"minimum-number-of-increments-on-subarrays-to-form-a-target-array\" },\n { n: 1527, t: \"Patients With a Condition\", d: \"Easy\", s: \"patients-with-a-condition\" },\n { n: 1528, t: \"Shuffle String\", d: \"Easy\", s: \"shuffle-string\" },\n { n: 1529, t: \"Minimum Suffix Flips\", d: \"Medium\", s: \"minimum-suffix-flips\" },\n { n: 1530, t: \"Number of Good Leaf Nodes Pairs\", d: \"Medium\", s: \"number-of-good-leaf-nodes-pairs\" },\n { n: 1531, t: \"String Compression II\", d: \"Hard\", s: \"string-compression-ii\" },\n { n: 1532, t: \"The Most Recent Three Orders\", d: \"Medium\", s: \"the-most-recent-three-orders\" },\n { n: 1533, t: \"Find the Index of the Large Integer\", d: \"Medium\", s: \"find-the-index-of-the-large-integer\" },\n { n: 1534, t: \"Count Good Triplets\", d: \"Easy\", s: \"count-good-triplets\" },\n { n: 1535, t: \"Find the Winner of an Array Game\", d: \"Medium\", s: \"find-the-winner-of-an-array-game\" },\n { n: 1536, t: \"Minimum Swaps to Arrange a Binary Grid\", d: \"Medium\", s: \"minimum-swaps-to-arrange-a-binary-grid\" },\n { n: 1537, t: \"Get the Maximum Score\", d: \"Hard\", s: \"get-the-maximum-score\" },\n { n: 1538, t: \"Guess the Majority in a Hidden Array\", d: \"Medium\", s: \"guess-the-majority-in-a-hidden-array\" },\n { n: 1539, t: \"Kth Missing Positive Number\", d: \"Easy\", s: \"kth-missing-positive-number\" },\n { n: 1540, t: \"Can Convert String in K Moves\", d: \"Medium\", s: \"can-convert-string-in-k-moves\" },\n { n: 1541, t: \"Minimum Insertions to Balance a Parentheses String\", d: \"Medium\", s: \"minimum-insertions-to-balance-a-parentheses-string\" },\n { n: 1542, t: \"Find Longest Awesome Substring\", d: \"Hard\", s: \"find-longest-awesome-substring\" },\n { n: 1543, t: \"Fix Product Name Format\", d: \"Easy\", s: \"fix-product-name-format\" },\n { n: 1544, t: \"Make The String Great\", d: \"Easy\", s: \"make-the-string-great\" },\n { n: 1545, t: \"Find Kth Bit in Nth Binary String\", d: \"Medium\", s: \"find-kth-bit-in-nth-binary-string\" },\n { n: 1546, t: \"Maximum Number of Non-Overlapping Subarrays With Sum Equals Target\", d: \"Medium\", s: \"maximum-number-of-non-overlapping-subarrays-with-sum-equals-target\" },\n { n: 1547, t: \"Minimum Cost to Cut a Stick\", d: \"Hard\", s: \"minimum-cost-to-cut-a-stick\" },\n { n: 1548, t: \"The Most Similar Path in a Graph\", d: \"Hard\", s: \"the-most-similar-path-in-a-graph\" },\n { n: 1549, t: \"The Most Recent Orders for Each Product\", d: \"Medium\", s: \"the-most-recent-orders-for-each-product\" },\n { n: 1550, t: \"Three Consecutive Odds\", d: \"Easy\", s: \"three-consecutive-odds\" },\n { n: 1551, t: \"Minimum Operations to Make Array Equal\", d: \"Medium\", s: \"minimum-operations-to-make-array-equal\" },\n { n: 1552, t: \"Magnetic Force Between Two Balls\", d: \"Medium\", s: \"magnetic-force-between-two-balls\" },\n { n: 1553, t: \"Minimum Number of Days to Eat N Oranges\", d: \"Hard\", s: \"minimum-number-of-days-to-eat-n-oranges\" },\n { n: 1554, t: \"Strings Differ by One Character\", d: \"Medium\", s: \"strings-differ-by-one-character\" },\n { n: 1555, t: \"Bank Account Summary\", d: \"Medium\", s: \"bank-account-summary\" },\n { n: 1556, t: \"Thousand Separator\", d: \"Easy\", s: \"thousand-separator\" },\n { n: 1557, t: \"Minimum Number of Vertices to Reach All Nodes\", d: \"Medium\", s: \"minimum-number-of-vertices-to-reach-all-nodes\" },\n { n: 1558, t: \"Minimum Numbers of Function Calls to Make Target Array\", d: \"Medium\", s: \"minimum-numbers-of-function-calls-to-make-target-array\" },\n { n: 1559, t: \"Detect Cycles in 2D Grid\", d: \"Medium\", s: \"detect-cycles-in-2d-grid\" },\n { n: 1560, t: \"Most Visited Sector in a Circular Track\", d: \"Easy\", s: \"most-visited-sector-in-a-circular-track\" },\n { n: 1561, t: \"Maximum Number of Coins You Can Get\", d: \"Medium\", s: \"maximum-number-of-coins-you-can-get\" },\n { n: 1562, t: \"Find Latest Group of Size M\", d: \"Medium\", s: \"find-latest-group-of-size-m\" },\n { n: 1563, t: \"Stone Game V\", d: \"Hard\", s: \"stone-game-v\" },\n { n: 1564, t: \"Put Boxes Into the Warehouse I\", d: \"Medium\", s: \"put-boxes-into-the-warehouse-i\" },\n { n: 1565, t: \"Unique Orders and Customers Per Month\", d: \"Easy\", s: \"unique-orders-and-customers-per-month\" },\n { n: 1566, t: \"Detect Pattern of Length M Repeated K or More Times\", d: \"Easy\", s: \"detect-pattern-of-length-m-repeated-k-or-more-times\" },\n { n: 1567, t: \"Maximum Length of Subarray With Positive Product\", d: \"Medium\", s: \"maximum-length-of-subarray-with-positive-product\" },\n { n: 1568, t: \"Minimum Number of Days to Disconnect Island\", d: \"Hard\", s: \"minimum-number-of-days-to-disconnect-island\" },\n { n: 1569, t: \"Number of Ways to Reorder Array to Get Same BST\", d: \"Hard\", s: \"number-of-ways-to-reorder-array-to-get-same-bst\" },\n { n: 1570, t: \"Dot Product of Two Sparse Vectors\", d: \"Medium\", s: \"dot-product-of-two-sparse-vectors\" },\n { n: 1571, t: \"Warehouse Manager\", d: \"Easy\", s: \"warehouse-manager\" },\n { n: 1572, t: \"Matrix Diagonal Sum\", d: \"Easy\", s: \"matrix-diagonal-sum\" },\n { n: 1573, t: \"Number of Ways to Split a String\", d: \"Medium\", s: \"number-of-ways-to-split-a-string\" },\n { n: 1574, t: \"Shortest Subarray to be Removed to Make Array Sorted\", d: \"Medium\", s: \"shortest-subarray-to-be-removed-to-make-array-sorted\" },\n { n: 1575, t: \"Count All Possible Routes\", d: \"Hard\", s: \"count-all-possible-routes\" },\n { n: 1576, t: \"Replace All ?\\'s to Avoid Consecutive Repeating Characters\", d: \"Easy\", s: \"replace-all-s-to-avoid-consecutive-repeating-characters\" },\n { n: 1577, t: \"Number of Ways Where Square of Number Is Equal to Product of Two Numbers\", d: \"Medium\", s: \"number-of-ways-where-square-of-number-is-equal-to-product-of-two-numbers\" },\n { n: 1578, t: \"Minimum Time to Make Rope Colorful\", d: \"Medium\", s: \"minimum-time-to-make-rope-colorful\" },\n { n: 1579, t: \"Remove Max Number of Edges to Keep Graph Fully Traversable\", d: \"Hard\", s: \"remove-max-number-of-edges-to-keep-graph-fully-traversable\" },\n { n: 1580, t: \"Put Boxes Into the Warehouse II\", d: \"Medium\", s: \"put-boxes-into-the-warehouse-ii\" },\n { n: 1581, t: \"Customer Who Visited but Did Not Make Any Transactions\", d: \"Easy\", s: \"customer-who-visited-but-did-not-make-any-transactions\" },\n { n: 1582, t: \"Special Positions in a Binary Matrix\", d: \"Easy\", s: \"special-positions-in-a-binary-matrix\" },\n { n: 1583, t: \"Count Unhappy Friends\", d: \"Medium\", s: \"count-unhappy-friends\" },\n { n: 1584, t: \"Min Cost to Connect All Points\", d: \"Medium\", s: \"min-cost-to-connect-all-points\" },\n { n: 1585, t: \"Check If String Is Transformable With Substring Sort Operations\", d: \"Hard\", s: \"check-if-string-is-transformable-with-substring-sort-operations\" },\n { n: 1586, t: \"Binary Search Tree Iterator II\", d: \"Medium\", s: \"binary-search-tree-iterator-ii\" },\n { n: 1587, t: \"Bank Account Summary II\", d: \"Easy\", s: \"bank-account-summary-ii\" },\n { n: 1588, t: \"Sum of All Odd Length Subarrays\", d: \"Easy\", s: \"sum-of-all-odd-length-subarrays\" },\n { n: 1589, t: \"Maximum Sum Obtained of Any Permutation\", d: \"Medium\", s: \"maximum-sum-obtained-of-any-permutation\" },\n { n: 1590, t: \"Make Sum Divisible by P\", d: \"Medium\", s: \"make-sum-divisible-by-p\" },\n { n: 1591, t: \"Strange Printer II\", d: \"Hard\", s: \"strange-printer-ii\" },\n { n: 1592, t: \"Rearrange Spaces Between Words\", d: \"Easy\", s: \"rearrange-spaces-between-words\" },\n { n: 1593, t: \"Split a String Into the Max Number of Unique Substrings\", d: \"Medium\", s: \"split-a-string-into-the-max-number-of-unique-substrings\" },\n { n: 1594, t: \"Maximum Non Negative Product in a Matrix\", d: \"Medium\", s: \"maximum-non-negative-product-in-a-matrix\" },\n { n: 1595, t: \"Minimum Cost to Connect Two Groups of Points\", d: \"Hard\", s: \"minimum-cost-to-connect-two-groups-of-points\" },\n { n: 1596, t: \"The Most Frequently Ordered Products for Each Customer\", d: \"Medium\", s: \"the-most-frequently-ordered-products-for-each-customer\" },\n { n: 1597, t: \"Build Binary Expression Tree From Infix Expression\", d: \"Hard\", s: \"build-binary-expression-tree-from-infix-expression\" },\n { n: 1598, t: \"Crawler Log Folder\", d: \"Easy\", s: \"crawler-log-folder\" },\n { n: 1599, t: \"Maximum Profit of Operating a Centennial Wheel\", d: \"Medium\", s: \"maximum-profit-of-operating-a-centennial-wheel\" },\n { n: 1600, t: \"Throne Inheritance\", d: \"Medium\", s: \"throne-inheritance\" },\n { n: 1601, t: \"Maximum Number of Achievable Transfer Requests\", d: \"Hard\", s: \"maximum-number-of-achievable-transfer-requests\" },\n { n: 1602, t: \"Find Nearest Right Node in Binary Tree\", d: \"Medium\", s: \"find-nearest-right-node-in-binary-tree\" },\n { n: 1603, t: \"Design Parking System\", d: \"Easy\", s: \"design-parking-system\" },\n { n: 1604, t: \"Alert Using Same Key-Card Three or More Times in a One Hour Period\", d: \"Medium\", s: \"alert-using-same-key-card-three-or-more-times-in-a-one-hour-period\" },\n { n: 1605, t: \"Find Valid Matrix Given Row and Column Sums\", d: \"Medium\", s: \"find-valid-matrix-given-row-and-column-sums\" },\n { n: 1606, t: \"Find Servers That Handled Most Number of Requests\", d: \"Hard\", s: \"find-servers-that-handled-most-number-of-requests\" },\n { n: 1607, t: \"Sellers With No Sales\", d: \"Easy\", s: \"sellers-with-no-sales\" },\n { n: 1608, t: \"Special Array With X Elements Greater Than or Equal X\", d: \"Easy\", s: \"special-array-with-x-elements-greater-than-or-equal-x\" },\n { n: 1609, t: \"Even Odd Tree\", d: \"Medium\", s: \"even-odd-tree\" },\n { n: 1610, t: \"Maximum Number of Visible Points\", d: \"Hard\", s: \"maximum-number-of-visible-points\" },\n { n: 1611, t: \"Minimum One Bit Operations to Make Integers Zero\", d: \"Hard\", s: \"minimum-one-bit-operations-to-make-integers-zero\" },\n { n: 1612, t: \"Check If Two Expression Trees are Equivalent\", d: \"Medium\", s: \"check-if-two-expression-trees-are-equivalent\" },\n { n: 1613, t: \"Find the Missing IDs\", d: \"Medium\", s: \"find-the-missing-ids\" },\n { n: 1614, t: \"Maximum Nesting Depth of the Parentheses\", d: \"Easy\", s: \"maximum-nesting-depth-of-the-parentheses\" },\n { n: 1615, t: \"Maximal Network Rank\", d: \"Medium\", s: \"maximal-network-rank\" },\n { n: 1616, t: \"Split Two Strings to Make Palindrome\", d: \"Medium\", s: \"split-two-strings-to-make-palindrome\" },\n { n: 1617, t: \"Count Subtrees With Max Distance Between Cities\", d: \"Hard\", s: \"count-subtrees-with-max-distance-between-cities\" },\n { n: 1618, t: \"Maximum Font to Fit a Sentence in a Screen\", d: \"Medium\", s: \"maximum-font-to-fit-a-sentence-in-a-screen\" },\n { n: 1619, t: \"Mean of Array After Removing Some Elements\", d: \"Easy\", s: \"mean-of-array-after-removing-some-elements\" },\n { n: 1620, t: \"Coordinate With Maximum Network Quality\", d: \"Medium\", s: \"coordinate-with-maximum-network-quality\" },\n { n: 1621, t: \"Number of Sets of K Non-Overlapping Line Segments\", d: \"Medium\", s: \"number-of-sets-of-k-non-overlapping-line-segments\" },\n { n: 1622, t: \"Fancy Sequence\", d: \"Hard\", s: \"fancy-sequence\" },\n { n: 1623, t: \"All Valid Triplets That Can Represent a Country\", d: \"Easy\", s: \"all-valid-triplets-that-can-represent-a-country\" },\n { n: 1624, t: \"Largest Substring Between Two Equal Characters\", d: \"Easy\", s: \"largest-substring-between-two-equal-characters\" },\n { n: 1625, t: \"Lexicographically Smallest String After Applying Operations\", d: \"Medium\", s: \"lexicographically-smallest-string-after-applying-operations\" },\n { n: 1626, t: \"Best Team With No Conflicts\", d: \"Medium\", s: \"best-team-with-no-conflicts\" },\n { n: 1627, t: \"Graph Connectivity With Threshold\", d: \"Hard\", s: \"graph-connectivity-with-threshold\" },\n { n: 1628, t: \"Design an Expression Tree With Evaluate Function\", d: \"Medium\", s: \"design-an-expression-tree-with-evaluate-function\" },\n { n: 1629, t: \"Slowest Key\", d: \"Easy\", s: \"slowest-key\" },\n { n: 1630, t: \"Arithmetic Subarrays\", d: \"Medium\", s: \"arithmetic-subarrays\" },\n { n: 1631, t: \"Path With Minimum Effort\", d: \"Medium\", s: \"path-with-minimum-effort\" },\n { n: 1632, t: \"Rank Transform of a Matrix\", d: \"Hard\", s: \"rank-transform-of-a-matrix\" },\n { n: 1633, t: \"Percentage of Users Attended a Contest\", d: \"Easy\", s: \"percentage-of-users-attended-a-contest\" },\n { n: 1634, t: \"Add Two Polynomials Represented as Linked Lists\", d: \"Medium\", s: \"add-two-polynomials-represented-as-linked-lists\" },\n { n: 1635, t: \"Hopper Company Queries I\", d: \"Hard\", s: \"hopper-company-queries-i\" },\n { n: 1636, t: \"Sort Array by Increasing Frequency\", d: \"Easy\", s: \"sort-array-by-increasing-frequency\" },\n { n: 1637, t: \"Widest Vertical Area Between Two Points Containing No Points\", d: \"Easy\", s: \"widest-vertical-area-between-two-points-containing-no-points\" },\n { n: 1638, t: \"Count Substrings That Differ by One Character\", d: \"Medium\", s: \"count-substrings-that-differ-by-one-character\" },\n { n: 1639, t: \"Number of Ways to Form a Target String Given a Dictionary\", d: \"Hard\", s: \"number-of-ways-to-form-a-target-string-given-a-dictionary\" },\n { n: 1640, t: \"Check Array Formation Through Concatenation\", d: \"Easy\", s: \"check-array-formation-through-concatenation\" },\n { n: 1641, t: \"Count Sorted Vowel Strings\", d: \"Medium\", s: \"count-sorted-vowel-strings\" },\n { n: 1642, t: \"Furthest Building You Can Reach\", d: \"Medium\", s: \"furthest-building-you-can-reach\" },\n { n: 1643, t: \"Kth Smallest Instructions\", d: \"Hard\", s: \"kth-smallest-instructions\" },\n { n: 1644, t: \"Lowest Common Ancestor of a Binary Tree II\", d: \"Medium\", s: \"lowest-common-ancestor-of-a-binary-tree-ii\" },\n { n: 1645, t: \"Hopper Company Queries II\", d: \"Hard\", s: \"hopper-company-queries-ii\" },\n { n: 1646, t: \"Get Maximum in Generated Array\", d: \"Easy\", s: \"get-maximum-in-generated-array\" },\n { n: 1647, t: \"Minimum Deletions to Make Character Frequencies Unique\", d: \"Medium\", s: \"minimum-deletions-to-make-character-frequencies-unique\" },\n { n: 1648, t: \"Sell Diminishing-Valued Colored Balls\", d: \"Medium\", s: \"sell-diminishing-valued-colored-balls\" },\n { n: 1649, t: \"Create Sorted Array through Instructions\", d: \"Hard\", s: \"create-sorted-array-through-instructions\" },\n { n: 1650, t: \"Lowest Common Ancestor of a Binary Tree III\", d: \"Medium\", s: \"lowest-common-ancestor-of-a-binary-tree-iii\" },\n { n: 1651, t: \"Hopper Company Queries III\", d: \"Hard\", s: \"hopper-company-queries-iii\" },\n { n: 1652, t: \"Defuse the Bomb\", d: \"Easy\", s: \"defuse-the-bomb\" },\n { n: 1653, t: \"Minimum Deletions to Make String Balanced\", d: \"Medium\", s: \"minimum-deletions-to-make-string-balanced\" },\n { n: 1654, t: \"Minimum Jumps to Reach Home\", d: \"Medium\", s: \"minimum-jumps-to-reach-home\" },\n { n: 1655, t: \"Distribute Repeating Integers\", d: \"Hard\", s: \"distribute-repeating-integers\" },\n { n: 1656, t: \"Design an Ordered Stream\", d: \"Easy\", s: \"design-an-ordered-stream\" },\n { n: 1657, t: \"Determine if Two Strings Are Close\", d: \"Medium\", s: \"determine-if-two-strings-are-close\" },\n { n: 1658, t: \"Minimum Operations to Reduce X to Zero\", d: \"Medium\", s: \"minimum-operations-to-reduce-x-to-zero\" },\n { n: 1659, t: \"Maximize Grid Happiness\", d: \"Hard\", s: \"maximize-grid-happiness\" },\n { n: 1660, t: \"Correct a Binary Tree\", d: \"Medium\", s: \"correct-a-binary-tree\" },\n { n: 1661, t: \"Average Time of Process per Machine\", d: \"Easy\", s: \"average-time-of-process-per-machine\" },\n { n: 1662, t: \"Check If Two String Arrays are Equivalent\", d: \"Easy\", s: \"check-if-two-string-arrays-are-equivalent\" },\n { n: 1663, t: \"Smallest String With A Given Numeric Value\", d: \"Medium\", s: \"smallest-string-with-a-given-numeric-value\" },\n { n: 1664, t: \"Ways to Make a Fair Array\", d: \"Medium\", s: \"ways-to-make-a-fair-array\" },\n { n: 1665, t: \"Minimum Initial Energy to Finish Tasks\", d: \"Hard\", s: \"minimum-initial-energy-to-finish-tasks\" },\n { n: 1666, t: \"Change the Root of a Binary Tree\", d: \"Medium\", s: \"change-the-root-of-a-binary-tree\" },\n { n: 1667, t: \"Fix Names in a Table\", d: \"Easy\", s: \"fix-names-in-a-table\" },\n { n: 1668, t: \"Maximum Repeating Substring\", d: \"Easy\", s: \"maximum-repeating-substring\" },\n { n: 1669, t: \"Merge In Between Linked Lists\", d: \"Medium\", s: \"merge-in-between-linked-lists\" },\n { n: 1670, t: \"Design Front Middle Back Queue\", d: \"Medium\", s: \"design-front-middle-back-queue\" },\n { n: 1671, t: \"Minimum Number of Removals to Make Mountain Array\", d: \"Hard\", s: \"minimum-number-of-removals-to-make-mountain-array\" },\n { n: 1672, t: \"Richest Customer Wealth\", d: \"Easy\", s: \"richest-customer-wealth\" },\n { n: 1673, t: \"Find the Most Competitive Subsequence\", d: \"Medium\", s: \"find-the-most-competitive-subsequence\" },\n { n: 1674, t: \"Minimum Moves to Make Array Complementary\", d: \"Medium\", s: \"minimum-moves-to-make-array-complementary\" },\n { n: 1675, t: \"Minimize Deviation in Array\", d: \"Hard\", s: \"minimize-deviation-in-array\" },\n { n: 1676, t: \"Lowest Common Ancestor of a Binary Tree IV\", d: \"Medium\", s: \"lowest-common-ancestor-of-a-binary-tree-iv\" },\n { n: 1677, t: \"Product\\'s Worth Over Invoices\", d: \"Easy\", s: \"products-worth-over-invoices\" },\n { n: 1678, t: \"Goal Parser Interpretation\", d: \"Easy\", s: \"goal-parser-interpretation\" },\n { n: 1679, t: \"Max Number of K-Sum Pairs\", d: \"Medium\", s: \"max-number-of-k-sum-pairs\" },\n { n: 1680, t: \"Concatenation of Consecutive Binary Numbers\", d: \"Medium\", s: \"concatenation-of-consecutive-binary-numbers\" },\n { n: 1681, t: \"Minimum Incompatibility\", d: \"Hard\", s: \"minimum-incompatibility\" },\n { n: 1682, t: \"Longest Palindromic Subsequence II\", d: \"Medium\", s: \"longest-palindromic-subsequence-ii\" },\n { n: 1683, t: \"Invalid Tweets\", d: \"Easy\", s: \"invalid-tweets\" },\n { n: 1684, t: \"Count the Number of Consistent Strings\", d: \"Easy\", s: \"count-the-number-of-consistent-strings\" },\n { n: 1685, t: \"Sum of Absolute Differences in a Sorted Array\", d: \"Medium\", s: \"sum-of-absolute-differences-in-a-sorted-array\" },\n { n: 1686, t: \"Stone Game VI\", d: \"Medium\", s: \"stone-game-vi\" },\n { n: 1687, t: \"Delivering Boxes from Storage to Ports\", d: \"Hard\", s: \"delivering-boxes-from-storage-to-ports\" },\n { n: 1688, t: \"Count of Matches in Tournament\", d: \"Easy\", s: \"count-of-matches-in-tournament\" },\n { n: 1689, t: \"Partitioning Into Minimum Number Of Deci-Binary Numbers\", d: \"Medium\", s: \"partitioning-into-minimum-number-of-deci-binary-numbers\" },\n { n: 1690, t: \"Stone Game VII\", d: \"Medium\", s: \"stone-game-vii\" },\n { n: 1691, t: \"Maximum Height by Stacking Cuboids\", d: \"Hard\", s: \"maximum-height-by-stacking-cuboids\" },\n { n: 1692, t: \"Count Ways to Distribute Candies\", d: \"Hard\", s: \"count-ways-to-distribute-candies\" },\n { n: 1693, t: \"Daily Leads and Partners\", d: \"Easy\", s: \"daily-leads-and-partners\" },\n { n: 1694, t: \"Reformat Phone Number\", d: \"Easy\", s: \"reformat-phone-number\" },\n { n: 1695, t: \"Maximum Erasure Value\", d: \"Medium\", s: \"maximum-erasure-value\" },\n { n: 1696, t: \"Jump Game VI\", d: \"Medium\", s: \"jump-game-vi\" },\n { n: 1697, t: \"Checking Existence of Edge Length Limited Paths\", d: \"Hard\", s: \"checking-existence-of-edge-length-limited-paths\" },\n { n: 1698, t: \"Number of Distinct Substrings in a String\", d: \"Medium\", s: \"number-of-distinct-substrings-in-a-string\" },\n { n: 1699, t: \"Number of Calls Between Two Persons\", d: \"Medium\", s: \"number-of-calls-between-two-persons\" },\n { n: 1700, t: \"Number of Students Unable to Eat Lunch\", d: \"Easy\", s: \"number-of-students-unable-to-eat-lunch\" },\n { n: 1701, t: \"Average Waiting Time\", d: \"Medium\", s: \"average-waiting-time\" },\n { n: 1702, t: \"Maximum Binary String After Change\", d: \"Medium\", s: \"maximum-binary-string-after-change\" },\n { n: 1703, t: \"Minimum Adjacent Swaps for K Consecutive Ones\", d: \"Hard\", s: \"minimum-adjacent-swaps-for-k-consecutive-ones\" },\n { n: 1704, t: \"Determine if String Halves Are Alike\", d: \"Easy\", s: \"determine-if-string-halves-are-alike\" },\n { n: 1705, t: \"Maximum Number of Eaten Apples\", d: \"Medium\", s: \"maximum-number-of-eaten-apples\" },\n { n: 1706, t: \"Where Will the Ball Fall\", d: \"Medium\", s: \"where-will-the-ball-fall\" },\n { n: 1707, t: \"Maximum XOR With an Element From Array\", d: \"Hard\", s: \"maximum-xor-with-an-element-from-array\" },\n { n: 1708, t: \"Largest Subarray Length K\", d: \"Easy\", s: \"largest-subarray-length-k\" },\n { n: 1709, t: \"Biggest Window Between Visits\", d: \"Medium\", s: \"biggest-window-between-visits\" },\n { n: 1710, t: \"Maximum Units on a Truck\", d: \"Easy\", s: \"maximum-units-on-a-truck\" },\n { n: 1711, t: \"Count Good Meals\", d: \"Medium\", s: \"count-good-meals\" },\n { n: 1712, t: \"Ways to Split Array Into Three Subarrays\", d: \"Medium\", s: \"ways-to-split-array-into-three-subarrays\" },\n { n: 1713, t: \"Minimum Operations to Make a Subsequence\", d: \"Hard\", s: \"minimum-operations-to-make-a-subsequence\" },\n { n: 1714, t: \"Sum Of Special Evenly-Spaced Elements In Array\", d: \"Hard\", s: \"sum-of-special-evenly-spaced-elements-in-array\" },\n { n: 1715, t: \"Count Apples and Oranges\", d: \"Medium\", s: \"count-apples-and-oranges\" },\n { n: 1716, t: \"Calculate Money in Leetcode Bank\", d: \"Easy\", s: \"calculate-money-in-leetcode-bank\" },\n { n: 1717, t: \"Maximum Score From Removing Substrings\", d: \"Medium\", s: \"maximum-score-from-removing-substrings\" },\n { n: 1718, t: \"Construct the Lexicographically Largest Valid Sequence\", d: \"Medium\", s: \"construct-the-lexicographically-largest-valid-sequence\" },\n { n: 1719, t: \"Number Of Ways To Reconstruct A Tree\", d: \"Hard\", s: \"number-of-ways-to-reconstruct-a-tree\" },\n { n: 1720, t: \"Decode XORed Array\", d: \"Easy\", s: \"decode-xored-array\" },\n { n: 1721, t: \"Swapping Nodes in a Linked List\", d: \"Medium\", s: \"swapping-nodes-in-a-linked-list\" },\n { n: 1722, t: \"Minimize Hamming Distance After Swap Operations\", d: \"Medium\", s: \"minimize-hamming-distance-after-swap-operations\" },\n { n: 1723, t: \"Find Minimum Time to Finish All Jobs\", d: \"Hard\", s: \"find-minimum-time-to-finish-all-jobs\" },\n { n: 1724, t: \"Checking Existence of Edge Length Limited Paths II\", d: \"Hard\", s: \"checking-existence-of-edge-length-limited-paths-ii\" },\n { n: 1725, t: \"Number Of Rectangles That Can Form The Largest Square\", d: \"Easy\", s: \"number-of-rectangles-that-can-form-the-largest-square\" },\n { n: 1726, t: \"Tuple with Same Product\", d: \"Medium\", s: \"tuple-with-same-product\" },\n { n: 1727, t: \"Largest Submatrix With Rearrangements\", d: \"Medium\", s: \"largest-submatrix-with-rearrangements\" },\n { n: 1728, t: \"Cat and Mouse II\", d: \"Hard\", s: \"cat-and-mouse-ii\" },\n { n: 1729, t: \"Find Followers Count\", d: \"Easy\", s: \"find-followers-count\" },\n { n: 1730, t: \"Shortest Path to Get Food\", d: \"Medium\", s: \"shortest-path-to-get-food\" },\n { n: 1731, t: \"The Number of Employees Which Report to Each Employee\", d: \"Easy\", s: \"the-number-of-employees-which-report-to-each-employee\" },\n { n: 1732, t: \"Find the Highest Altitude\", d: \"Easy\", s: \"find-the-highest-altitude\" },\n { n: 1733, t: \"Minimum Number of People to Teach\", d: \"Medium\", s: \"minimum-number-of-people-to-teach\" },\n { n: 1734, t: \"Decode XORed Permutation\", d: \"Medium\", s: \"decode-xored-permutation\" },\n { n: 1735, t: \"Count Ways to Make Array With Product\", d: \"Hard\", s: \"count-ways-to-make-array-with-product\" },\n { n: 1736, t: \"Latest Time by Replacing Hidden Digits\", d: \"Easy\", s: \"latest-time-by-replacing-hidden-digits\" },\n { n: 1737, t: \"Change Minimum Characters to Satisfy One of Three Conditions\", d: \"Medium\", s: \"change-minimum-characters-to-satisfy-one-of-three-conditions\" },\n { n: 1738, t: \"Find Kth Largest XOR Coordinate Value\", d: \"Medium\", s: \"find-kth-largest-xor-coordinate-value\" },\n { n: 1739, t: \"Building Boxes\", d: \"Hard\", s: \"building-boxes\" },\n { n: 1740, t: \"Find Distance in a Binary Tree\", d: \"Medium\", s: \"find-distance-in-a-binary-tree\" },\n { n: 1741, t: \"Find Total Time Spent by Each Employee\", d: \"Easy\", s: \"find-total-time-spent-by-each-employee\" },\n { n: 1742, t: \"Maximum Number of Balls in a Box\", d: \"Easy\", s: \"maximum-number-of-balls-in-a-box\" },\n { n: 1743, t: \"Restore the Array From Adjacent Pairs\", d: \"Medium\", s: \"restore-the-array-from-adjacent-pairs\" },\n { n: 1744, t: \"Can You Eat Your Favorite Candy on Your Favorite Day?\", d: \"Medium\", s: \"can-you-eat-your-favorite-candy-on-your-favorite-day\" },\n { n: 1745, t: \"Palindrome Partitioning IV\", d: \"Hard\", s: \"palindrome-partitioning-iv\" },\n { n: 1746, t: \"Maximum Subarray Sum After One Operation\", d: \"Medium\", s: \"maximum-subarray-sum-after-one-operation\" },\n { n: 1747, t: \"Leetflex Banned Accounts\", d: \"Medium\", s: \"leetflex-banned-accounts\" },\n { n: 1748, t: \"Sum of Unique Elements\", d: \"Easy\", s: \"sum-of-unique-elements\" },\n { n: 1749, t: \"Maximum Absolute Sum of Any Subarray\", d: \"Medium\", s: \"maximum-absolute-sum-of-any-subarray\" },\n { n: 1750, t: \"Minimum Length of String After Deleting Similar Ends\", d: \"Medium\", s: \"minimum-length-of-string-after-deleting-similar-ends\" },\n { n: 1751, t: \"Maximum Number of Events That Can Be Attended II\", d: \"Hard\", s: \"maximum-number-of-events-that-can-be-attended-ii\" },\n { n: 1752, t: \"Check if Array Is Sorted and Rotated\", d: \"Easy\", s: \"check-if-array-is-sorted-and-rotated\" },\n { n: 1753, t: \"Maximum Score From Removing Stones\", d: \"Medium\", s: \"maximum-score-from-removing-stones\" },\n { n: 1754, t: \"Largest Merge Of Two Strings\", d: \"Medium\", s: \"largest-merge-of-two-strings\" },\n { n: 1755, t: \"Closest Subsequence Sum\", d: \"Hard\", s: \"closest-subsequence-sum\" },\n { n: 1756, t: \"Design Most Recently Used Queue\", d: \"Medium\", s: \"design-most-recently-used-queue\" },\n { n: 1757, t: \"Recyclable and Low Fat Products\", d: \"Easy\", s: \"recyclable-and-low-fat-products\" },\n { n: 1758, t: \"Minimum Changes To Make Alternating Binary String\", d: \"Easy\", s: \"minimum-changes-to-make-alternating-binary-string\" },\n { n: 1759, t: \"Count Number of Homogenous Substrings\", d: \"Medium\", s: \"count-number-of-homogenous-substrings\" },\n { n: 1760, t: \"Minimum Limit of Balls in a Bag\", d: \"Medium\", s: \"minimum-limit-of-balls-in-a-bag\" },\n { n: 1761, t: \"Minimum Degree of a Connected Trio in a Graph\", d: \"Hard\", s: \"minimum-degree-of-a-connected-trio-in-a-graph\" },\n { n: 1762, t: \"Buildings With an Ocean View\", d: \"Medium\", s: \"buildings-with-an-ocean-view\" },\n { n: 1763, t: \"Longest Nice Substring\", d: \"Easy\", s: \"longest-nice-substring\" },\n { n: 1764, t: \"Form Array by Concatenating Subarrays of Another Array\", d: \"Medium\", s: \"form-array-by-concatenating-subarrays-of-another-array\" },\n { n: 1765, t: \"Map of Highest Peak\", d: \"Medium\", s: \"map-of-highest-peak\" },\n { n: 1766, t: \"Tree of Coprimes\", d: \"Hard\", s: \"tree-of-coprimes\" },\n { n: 1767, t: \"Find the Subtasks That Did Not Execute\", d: \"Hard\", s: \"find-the-subtasks-that-did-not-execute\" },\n { n: 1768, t: \"Merge Strings Alternately\", d: \"Easy\", s: \"merge-strings-alternately\" },\n { n: 1769, t: \"Minimum Number of Operations to Move All Balls to Each Box\", d: \"Medium\", s: \"minimum-number-of-operations-to-move-all-balls-to-each-box\" },\n { n: 1770, t: \"Maximum Score from Performing Multiplication Operations\", d: \"Hard\", s: \"maximum-score-from-performing-multiplication-operations\" },\n { n: 1771, t: \"Maximize Palindrome Length From Subsequences\", d: \"Hard\", s: \"maximize-palindrome-length-from-subsequences\" },\n { n: 1772, t: \"Sort Features by Popularity\", d: \"Medium\", s: \"sort-features-by-popularity\" },\n { n: 1773, t: \"Count Items Matching a Rule\", d: \"Easy\", s: \"count-items-matching-a-rule\" },\n { n: 1774, t: \"Closest Dessert Cost\", d: \"Medium\", s: \"closest-dessert-cost\" },\n { n: 1775, t: \"Equal Sum Arrays With Minimum Number of Operations\", d: \"Medium\", s: \"equal-sum-arrays-with-minimum-number-of-operations\" },\n { n: 1776, t: \"Car Fleet II\", d: \"Hard\", s: \"car-fleet-ii\" },\n { n: 1777, t: \"Product\\'s Price for Each Store\", d: \"Easy\", s: \"products-price-for-each-store\" },\n { n: 1778, t: \"Shortest Path in a Hidden Grid\", d: \"Medium\", s: \"shortest-path-in-a-hidden-grid\" },\n { n: 1779, t: \"Find Nearest Point That Has the Same X or Y Coordinate\", d: \"Easy\", s: \"find-nearest-point-that-has-the-same-x-or-y-coordinate\" },\n { n: 1780, t: \"Check if Number is a Sum of Powers of Three\", d: \"Medium\", s: \"check-if-number-is-a-sum-of-powers-of-three\" },\n { n: 1781, t: \"Sum of Beauty of All Substrings\", d: \"Medium\", s: \"sum-of-beauty-of-all-substrings\" },\n { n: 1782, t: \"Count Pairs Of Nodes\", d: \"Hard\", s: \"count-pairs-of-nodes\" },\n { n: 1783, t: \"Grand Slam Titles\", d: \"Medium\", s: \"grand-slam-titles\" },\n { n: 1784, t: \"Check if Binary String Has at Most One Segment of Ones\", d: \"Easy\", s: \"check-if-binary-string-has-at-most-one-segment-of-ones\" },\n { n: 1785, t: \"Minimum Elements to Add to Form a Given Sum\", d: \"Medium\", s: \"minimum-elements-to-add-to-form-a-given-sum\" },\n { n: 1786, t: \"Number of Restricted Paths From First to Last Node\", d: \"Medium\", s: \"number-of-restricted-paths-from-first-to-last-node\" },\n { n: 1787, t: \"Make the XOR of All Segments Equal to Zero\", d: \"Hard\", s: \"make-the-xor-of-all-segments-equal-to-zero\" },\n { n: 1788, t: \"Maximize the Beauty of the Garden\", d: \"Hard\", s: \"maximize-the-beauty-of-the-garden\" },\n { n: 1789, t: \"Primary Department for Each Employee\", d: \"Easy\", s: \"primary-department-for-each-employee\" },\n { n: 1790, t: \"Check if One String Swap Can Make Strings Equal\", d: \"Easy\", s: \"check-if-one-string-swap-can-make-strings-equal\" },\n { n: 1791, t: \"Find Center of Star Graph\", d: \"Easy\", s: \"find-center-of-star-graph\" },\n { n: 1792, t: \"Maximum Average Pass Ratio\", d: \"Medium\", s: \"maximum-average-pass-ratio\" },\n { n: 1793, t: \"Maximum Score of a Good Subarray\", d: \"Hard\", s: \"maximum-score-of-a-good-subarray\" },\n { n: 1794, t: \"Count Pairs of Equal Substrings With Minimum Difference\", d: \"Medium\", s: \"count-pairs-of-equal-substrings-with-minimum-difference\" },\n { n: 1795, t: \"Rearrange Products Table\", d: \"Easy\", s: \"rearrange-products-table\" },\n { n: 1796, t: \"Second Largest Digit in a String\", d: \"Easy\", s: \"second-largest-digit-in-a-string\" },\n { n: 1797, t: \"Design Authentication Manager\", d: \"Medium\", s: \"design-authentication-manager\" },\n { n: 1798, t: \"Maximum Number of Consecutive Values You Can Make\", d: \"Medium\", s: \"maximum-number-of-consecutive-values-you-can-make\" },\n { n: 1799, t: \"Maximize Score After N Operations\", d: \"Hard\", s: \"maximize-score-after-n-operations\" },\n { n: 1800, t: \"Maximum Ascending Subarray Sum\", d: \"Easy\", s: \"maximum-ascending-subarray-sum\" },\n { n: 1801, t: \"Number of Orders in the Backlog\", d: \"Medium\", s: \"number-of-orders-in-the-backlog\" },\n { n: 1802, t: \"Maximum Value at a Given Index in a Bounded Array\", d: \"Medium\", s: \"maximum-value-at-a-given-index-in-a-bounded-array\" },\n { n: 1803, t: \"Count Pairs With XOR in a Range\", d: \"Hard\", s: \"count-pairs-with-xor-in-a-range\" },\n { n: 1804, t: \"Implement Trie II (Prefix Tree)\", d: \"Medium\", s: \"implement-trie-ii-prefix-tree\" },\n { n: 1805, t: \"Number of Different Integers in a String\", d: \"Easy\", s: \"number-of-different-integers-in-a-string\" },\n { n: 1806, t: \"Minimum Number of Operations to Reinitialize a Permutation\", d: \"Medium\", s: \"minimum-number-of-operations-to-reinitialize-a-permutation\" },\n { n: 1807, t: \"Evaluate the Bracket Pairs of a String\", d: \"Medium\", s: \"evaluate-the-bracket-pairs-of-a-string\" },\n { n: 1808, t: \"Maximize Number of Nice Divisors\", d: \"Hard\", s: \"maximize-number-of-nice-divisors\" },\n { n: 1809, t: \"Ad-Free Sessions\", d: \"Easy\", s: \"ad-free-sessions\" },\n { n: 1810, t: \"Minimum Path Cost in a Hidden Grid\", d: \"Medium\", s: \"minimum-path-cost-in-a-hidden-grid\" },\n { n: 1811, t: \"Find Interview Candidates\", d: \"Medium\", s: \"find-interview-candidates\" },\n { n: 1812, t: \"Determine Color of a Chessboard Square\", d: \"Easy\", s: \"determine-color-of-a-chessboard-square\" },\n { n: 1813, t: \"Sentence Similarity III\", d: \"Medium\", s: \"sentence-similarity-iii\" },\n { n: 1814, t: \"Count Nice Pairs in an Array\", d: \"Medium\", s: \"count-nice-pairs-in-an-array\" },\n { n: 1815, t: \"Maximum Number of Groups Getting Fresh Donuts\", d: \"Hard\", s: \"maximum-number-of-groups-getting-fresh-donuts\" },\n { n: 1816, t: \"Truncate Sentence\", d: \"Easy\", s: \"truncate-sentence\" },\n { n: 1817, t: \"Finding the Users Active Minutes\", d: \"Medium\", s: \"finding-the-users-active-minutes\" },\n { n: 1818, t: \"Minimum Absolute Sum Difference\", d: \"Medium\", s: \"minimum-absolute-sum-difference\" },\n { n: 1819, t: \"Number of Different Subsequences GCDs\", d: \"Hard\", s: \"number-of-different-subsequences-gcds\" },\n { n: 1820, t: \"Maximum Number of Accepted Invitations\", d: \"Medium\", s: \"maximum-number-of-accepted-invitations\" },\n { n: 1821, t: \"Find Customers With Positive Revenue this Year\", d: \"Easy\", s: \"find-customers-with-positive-revenue-this-year\" },\n { n: 1822, t: \"Sign of the Product of an Array\", d: \"Easy\", s: \"sign-of-the-product-of-an-array\" },\n { n: 1823, t: \"Find the Winner of the Circular Game\", d: \"Medium\", s: \"find-the-winner-of-the-circular-game\" },\n { n: 1824, t: \"Minimum Sideway Jumps\", d: \"Medium\", s: \"minimum-sideway-jumps\" },\n { n: 1825, t: \"Finding MK Average\", d: \"Hard\", s: \"finding-mk-average\" },\n { n: 1826, t: \"Faulty Sensor\", d: \"Easy\", s: \"faulty-sensor\" },\n { n: 1827, t: \"Minimum Operations to Make the Array Increasing\", d: \"Easy\", s: \"minimum-operations-to-make-the-array-increasing\" },\n { n: 1828, t: \"Queries on Number of Points Inside a Circle\", d: \"Medium\", s: \"queries-on-number-of-points-inside-a-circle\" },\n { n: 1829, t: \"Maximum XOR for Each Query\", d: \"Medium\", s: \"maximum-xor-for-each-query\" },\n { n: 1830, t: \"Minimum Number of Operations to Make String Sorted\", d: \"Hard\", s: \"minimum-number-of-operations-to-make-string-sorted\" },\n { n: 1831, t: \"Maximum Transaction Each Day\", d: \"Medium\", s: \"maximum-transaction-each-day\" },\n { n: 1832, t: \"Check if the Sentence Is Pangram\", d: \"Easy\", s: \"check-if-the-sentence-is-pangram\" },\n { n: 1833, t: \"Maximum Ice Cream Bars\", d: \"Medium\", s: \"maximum-ice-cream-bars\" },\n { n: 1834, t: \"Single-Threaded CPU\", d: \"Medium\", s: \"single-threaded-cpu\" },\n { n: 1835, t: \"Find XOR Sum of All Pairs Bitwise AND\", d: \"Hard\", s: \"find-xor-sum-of-all-pairs-bitwise-and\" },\n { n: 1836, t: \"Remove Duplicates From an Unsorted Linked List\", d: \"Medium\", s: \"remove-duplicates-from-an-unsorted-linked-list\" },\n { n: 1837, t: \"Sum of Digits in Base K\", d: \"Easy\", s: \"sum-of-digits-in-base-k\" },\n { n: 1838, t: \"Frequency of the Most Frequent Element\", d: \"Medium\", s: \"frequency-of-the-most-frequent-element\" },\n { n: 1839, t: \"Longest Substring Of All Vowels in Order\", d: \"Medium\", s: \"longest-substring-of-all-vowels-in-order\" },\n { n: 1840, t: \"Maximum Building Height\", d: \"Hard\", s: \"maximum-building-height\" },\n { n: 1841, t: \"League Statistics\", d: \"Medium\", s: \"league-statistics\" },\n { n: 1842, t: \"Next Palindrome Using Same Digits\", d: \"Hard\", s: \"next-palindrome-using-same-digits\" },\n { n: 1843, t: \"Suspicious Bank Accounts\", d: \"Medium\", s: \"suspicious-bank-accounts\" },\n { n: 1844, t: \"Replace All Digits with Characters\", d: \"Easy\", s: \"replace-all-digits-with-characters\" },\n { n: 1845, t: \"Seat Reservation Manager\", d: \"Medium\", s: \"seat-reservation-manager\" },\n { n: 1846, t: \"Maximum Element After Decreasing and Rearranging\", d: \"Medium\", s: \"maximum-element-after-decreasing-and-rearranging\" },\n { n: 1847, t: \"Closest Room\", d: \"Hard\", s: \"closest-room\" },\n { n: 1848, t: \"Minimum Distance to the Target Element\", d: \"Easy\", s: \"minimum-distance-to-the-target-element\" },\n { n: 1849, t: \"Splitting a String Into Descending Consecutive Values\", d: \"Medium\", s: \"splitting-a-string-into-descending-consecutive-values\" },\n { n: 1850, t: \"Minimum Adjacent Swaps to Reach the Kth Smallest Number\", d: \"Medium\", s: \"minimum-adjacent-swaps-to-reach-the-kth-smallest-number\" },\n { n: 1851, t: \"Minimum Interval to Include Each Query\", d: \"Hard\", s: \"minimum-interval-to-include-each-query\" },\n { n: 1852, t: \"Distinct Numbers in Each Subarray\", d: \"Medium\", s: \"distinct-numbers-in-each-subarray\" },\n { n: 1853, t: \"Convert Date Format\", d: \"Easy\", s: \"convert-date-format\" },\n { n: 1854, t: \"Maximum Population Year\", d: \"Easy\", s: \"maximum-population-year\" },\n { n: 1855, t: \"Maximum Distance Between a Pair of Values\", d: \"Medium\", s: \"maximum-distance-between-a-pair-of-values\" },\n { n: 1856, t: \"Maximum Subarray Min-Product\", d: \"Medium\", s: \"maximum-subarray-min-product\" },\n { n: 1857, t: \"Largest Color Value in a Directed Graph\", d: \"Hard\", s: \"largest-color-value-in-a-directed-graph\" },\n { n: 1858, t: \"Longest Word With All Prefixes\", d: \"Medium\", s: \"longest-word-with-all-prefixes\" },\n { n: 1859, t: \"Sorting the Sentence\", d: \"Easy\", s: \"sorting-the-sentence\" },\n { n: 1860, t: \"Incremental Memory Leak\", d: \"Medium\", s: \"incremental-memory-leak\" },\n { n: 1861, t: \"Rotating the Box\", d: \"Medium\", s: \"rotating-the-box\" },\n { n: 1862, t: \"Sum of Floored Pairs\", d: \"Hard\", s: \"sum-of-floored-pairs\" },\n { n: 1863, t: \"Sum of All Subset XOR Totals\", d: \"Easy\", s: \"sum-of-all-subset-xor-totals\" },\n { n: 1864, t: \"Minimum Number of Swaps to Make the Binary String Alternating\", d: \"Medium\", s: \"minimum-number-of-swaps-to-make-the-binary-string-alternating\" },\n { n: 1865, t: \"Finding Pairs With a Certain Sum\", d: \"Medium\", s: \"finding-pairs-with-a-certain-sum\" },\n { n: 1866, t: \"Number of Ways to Rearrange Sticks With K Sticks Visible\", d: \"Hard\", s: \"number-of-ways-to-rearrange-sticks-with-k-sticks-visible\" },\n { n: 1867, t: \"Orders With Maximum Quantity Above Average\", d: \"Medium\", s: \"orders-with-maximum-quantity-above-average\" },\n { n: 1868, t: \"Product of Two Run-Length Encoded Arrays\", d: \"Medium\", s: \"product-of-two-run-length-encoded-arrays\" },\n { n: 1869, t: \"Longer Contiguous Segments of Ones than Zeros\", d: \"Easy\", s: \"longer-contiguous-segments-of-ones-than-zeros\" },\n { n: 1870, t: \"Minimum Speed to Arrive on Time\", d: \"Medium\", s: \"minimum-speed-to-arrive-on-time\" },\n { n: 1871, t: \"Jump Game VII\", d: \"Medium\", s: \"jump-game-vii\" },\n { n: 1872, t: \"Stone Game VIII\", d: \"Hard\", s: \"stone-game-viii\" },\n { n: 1873, t: \"Calculate Special Bonus\", d: \"Easy\", s: \"calculate-special-bonus\" },\n { n: 1874, t: \"Minimize Product Sum of Two Arrays\", d: \"Medium\", s: \"minimize-product-sum-of-two-arrays\" },\n { n: 1875, t: \"Group Employees of the Same Salary\", d: \"Medium\", s: \"group-employees-of-the-same-salary\" },\n { n: 1876, t: \"Substrings of Size Three with Distinct Characters\", d: \"Easy\", s: \"substrings-of-size-three-with-distinct-characters\" },\n { n: 1877, t: \"Minimize Maximum Pair Sum in Array\", d: \"Medium\", s: \"minimize-maximum-pair-sum-in-array\" },\n { n: 1878, t: \"Get Biggest Three Rhombus Sums in a Grid\", d: \"Medium\", s: \"get-biggest-three-rhombus-sums-in-a-grid\" },\n { n: 1879, t: \"Minimum XOR Sum of Two Arrays\", d: \"Hard\", s: \"minimum-xor-sum-of-two-arrays\" },\n { n: 1880, t: \"Check if Word Equals Summation of Two Words\", d: \"Easy\", s: \"check-if-word-equals-summation-of-two-words\" },\n { n: 1881, t: \"Maximum Value after Insertion\", d: \"Medium\", s: \"maximum-value-after-insertion\" },\n { n: 1882, t: \"Process Tasks Using Servers\", d: \"Medium\", s: \"process-tasks-using-servers\" },\n { n: 1883, t: \"Minimum Skips to Arrive at Meeting On Time\", d: \"Hard\", s: \"minimum-skips-to-arrive-at-meeting-on-time\" },\n { n: 1884, t: \"Egg Drop With 2 Eggs and N Floors\", d: \"Medium\", s: \"egg-drop-with-2-eggs-and-n-floors\" },\n { n: 1885, t: \"Count Pairs in Two Arrays\", d: \"Medium\", s: \"count-pairs-in-two-arrays\" },\n { n: 1886, t: \"Determine Whether Matrix Can Be Obtained By Rotation\", d: \"Easy\", s: \"determine-whether-matrix-can-be-obtained-by-rotation\" },\n { n: 1887, t: \"Reduction Operations to Make the Array Elements Equal\", d: \"Medium\", s: \"reduction-operations-to-make-the-array-elements-equal\" },\n { n: 1888, t: \"Minimum Number of Flips to Make the Binary String Alternating\", d: \"Medium\", s: \"minimum-number-of-flips-to-make-the-binary-string-alternating\" },\n { n: 1889, t: \"Minimum Space Wasted From Packaging\", d: \"Hard\", s: \"minimum-space-wasted-from-packaging\" },\n { n: 1890, t: \"The Latest Login in 2020\", d: \"Easy\", s: \"the-latest-login-in-2020\" },\n { n: 1891, t: \"Cutting Ribbons\", d: \"Medium\", s: \"cutting-ribbons\" },\n { n: 1892, t: \"Page Recommendations II\", d: \"Hard\", s: \"page-recommendations-ii\" },\n { n: 1893, t: \"Check if All the Integers in a Range Are Covered\", d: \"Easy\", s: \"check-if-all-the-integers-in-a-range-are-covered\" },\n { n: 1894, t: \"Find the Student that Will Replace the Chalk\", d: \"Medium\", s: \"find-the-student-that-will-replace-the-chalk\" },\n { n: 1895, t: \"Largest Magic Square\", d: \"Medium\", s: \"largest-magic-square\" },\n { n: 1896, t: \"Minimum Cost to Change the Final Value of Expression\", d: \"Hard\", s: \"minimum-cost-to-change-the-final-value-of-expression\" },\n { n: 1897, t: \"Redistribute Characters to Make All Strings Equal\", d: \"Easy\", s: \"redistribute-characters-to-make-all-strings-equal\" },\n { n: 1898, t: \"Maximum Number of Removable Characters\", d: \"Medium\", s: \"maximum-number-of-removable-characters\" },\n { n: 1899, t: \"Merge Triplets to Form Target Triplet\", d: \"Medium\", s: \"merge-triplets-to-form-target-triplet\" },\n { n: 1900, t: \"The Earliest and Latest Rounds Where Players Compete\", d: \"Hard\", s: \"the-earliest-and-latest-rounds-where-players-compete\" },\n { n: 1901, t: \"Find a Peak Element II\", d: \"Medium\", s: \"find-a-peak-element-ii\" },\n { n: 1902, t: \"Depth of BST Given Insertion Order\", d: \"Medium\", s: \"depth-of-bst-given-insertion-order\" },\n { n: 1903, t: \"Largest Odd Number in String\", d: \"Easy\", s: \"largest-odd-number-in-string\" },\n { n: 1904, t: \"The Number of Full Rounds You Have Played\", d: \"Medium\", s: \"the-number-of-full-rounds-you-have-played\" },\n { n: 1905, t: \"Count Sub Islands\", d: \"Medium\", s: \"count-sub-islands\" },\n { n: 1906, t: \"Minimum Absolute Difference Queries\", d: \"Medium\", s: \"minimum-absolute-difference-queries\" },\n { n: 1907, t: \"Count Salary Categories\", d: \"Medium\", s: \"count-salary-categories\" },\n { n: 1908, t: \"Game of Nim\", d: \"Medium\", s: \"game-of-nim\" },\n { n: 1909, t: \"Remove One Element to Make the Array Strictly Increasing\", d: \"Easy\", s: \"remove-one-element-to-make-the-array-strictly-increasing\" },\n { n: 1910, t: \"Remove All Occurrences of a Substring\", d: \"Medium\", s: \"remove-all-occurrences-of-a-substring\" },\n { n: 1911, t: \"Maximum Alternating Subsequence Sum\", d: \"Medium\", s: \"maximum-alternating-subsequence-sum\" },\n { n: 1912, t: \"Design Movie Rental System\", d: \"Hard\", s: \"design-movie-rental-system\" },\n { n: 1913, t: \"Maximum Product Difference Between Two Pairs\", d: \"Easy\", s: \"maximum-product-difference-between-two-pairs\" },\n { n: 1914, t: \"Cyclically Rotating a Grid\", d: \"Medium\", s: \"cyclically-rotating-a-grid\" },\n { n: 1915, t: \"Number of Wonderful Substrings\", d: \"Medium\", s: \"number-of-wonderful-substrings\" },\n { n: 1916, t: \"Count Ways to Build Rooms in an Ant Colony\", d: \"Hard\", s: \"count-ways-to-build-rooms-in-an-ant-colony\" },\n { n: 1917, t: \"Leetcodify Friends Recommendations\", d: \"Hard\", s: \"leetcodify-friends-recommendations\" },\n { n: 1918, t: \"Kth Smallest Subarray Sum\", d: \"Medium\", s: \"kth-smallest-subarray-sum\" },\n { n: 1919, t: \"Leetcodify Similar Friends\", d: \"Hard\", s: \"leetcodify-similar-friends\" },\n { n: 1920, t: \"Build Array from Permutation\", d: \"Easy\", s: \"build-array-from-permutation\" },\n { n: 1921, t: \"Eliminate Maximum Number of Monsters\", d: \"Medium\", s: \"eliminate-maximum-number-of-monsters\" },\n { n: 1922, t: \"Count Good Numbers\", d: \"Medium\", s: \"count-good-numbers\" },\n { n: 1923, t: \"Longest Common Subpath\", d: \"Hard\", s: \"longest-common-subpath\" },\n { n: 1924, t: \"Erect the Fence II\", d: \"Hard\", s: \"erect-the-fence-ii\" },\n { n: 1925, t: \"Count Square Sum Triples\", d: \"Easy\", s: \"count-square-sum-triples\" },\n { n: 1926, t: \"Nearest Exit from Entrance in Maze\", d: \"Medium\", s: \"nearest-exit-from-entrance-in-maze\" },\n { n: 1927, t: \"Sum Game\", d: \"Medium\", s: \"sum-game\" },\n { n: 1928, t: \"Minimum Cost to Reach Destination in Time\", d: \"Hard\", s: \"minimum-cost-to-reach-destination-in-time\" },\n { n: 1929, t: \"Concatenation of Array\", d: \"Easy\", s: \"concatenation-of-array\" },\n { n: 1930, t: \"Unique Length-3 Palindromic Subsequences\", d: \"Medium\", s: \"unique-length-3-palindromic-subsequences\" },\n { n: 1931, t: \"Painting a Grid With Three Different Colors\", d: \"Hard\", s: \"painting-a-grid-with-three-different-colors\" },\n { n: 1932, t: \"Merge BSTs to Create Single BST\", d: \"Hard\", s: \"merge-bsts-to-create-single-bst\" },\n { n: 1933, t: \"Check if String Is Decomposable Into Value-Equal Substrings\", d: \"Easy\", s: \"check-if-string-is-decomposable-into-value-equal-substrings\" },\n { n: 1934, t: \"Confirmation Rate\", d: \"Medium\", s: \"confirmation-rate\" },\n { n: 1935, t: \"Maximum Number of Words You Can Type\", d: \"Easy\", s: \"maximum-number-of-words-you-can-type\" },\n { n: 1936, t: \"Add Minimum Number of Rungs\", d: \"Medium\", s: \"add-minimum-number-of-rungs\" },\n { n: 1937, t: \"Maximum Number of Points with Cost\", d: \"Medium\", s: \"maximum-number-of-points-with-cost\" },\n { n: 1938, t: \"Maximum Genetic Difference Query\", d: \"Hard\", s: \"maximum-genetic-difference-query\" },\n { n: 1939, t: \"Users That Actively Request Confirmation Messages\", d: \"Easy\", s: \"users-that-actively-request-confirmation-messages\" },\n { n: 1940, t: \"Longest Common Subsequence Between Sorted Arrays\", d: \"Medium\", s: \"longest-common-subsequence-between-sorted-arrays\" },\n { n: 1941, t: \"Check if All Characters Have Equal Number of Occurrences\", d: \"Easy\", s: \"check-if-all-characters-have-equal-number-of-occurrences\" },\n { n: 1942, t: \"The Number of the Smallest Unoccupied Chair\", d: \"Medium\", s: \"the-number-of-the-smallest-unoccupied-chair\" },\n { n: 1943, t: \"Describe the Painting\", d: \"Medium\", s: \"describe-the-painting\" },\n { n: 1944, t: \"Number of Visible People in a Queue\", d: \"Hard\", s: \"number-of-visible-people-in-a-queue\" },\n { n: 1945, t: \"Sum of Digits of String After Convert\", d: \"Easy\", s: \"sum-of-digits-of-string-after-convert\" },\n { n: 1946, t: \"Largest Number After Mutating Substring\", d: \"Medium\", s: \"largest-number-after-mutating-substring\" },\n { n: 1947, t: \"Maximum Compatibility Score Sum\", d: \"Medium\", s: \"maximum-compatibility-score-sum\" },\n { n: 1948, t: \"Delete Duplicate Folders in System\", d: \"Hard\", s: \"delete-duplicate-folders-in-system\" },\n { n: 1949, t: \"Strong Friendship\", d: \"Medium\", s: \"strong-friendship\" },\n { n: 1950, t: \"Maximum of Minimum Values in All Subarrays\", d: \"Medium\", s: \"maximum-of-minimum-values-in-all-subarrays\" },\n { n: 1951, t: \"All the Pairs With the Maximum Number of Common Followers\", d: \"Medium\", s: \"all-the-pairs-with-the-maximum-number-of-common-followers\" },\n { n: 1952, t: \"Three Divisors\", d: \"Easy\", s: \"three-divisors\" },\n { n: 1953, t: \"Maximum Number of Weeks for Which You Can Work\", d: \"Medium\", s: \"maximum-number-of-weeks-for-which-you-can-work\" },\n { n: 1954, t: \"Minimum Garden Perimeter to Collect Enough Apples\", d: \"Medium\", s: \"minimum-garden-perimeter-to-collect-enough-apples\" },\n { n: 1955, t: \"Count Number of Special Subsequences\", d: \"Hard\", s: \"count-number-of-special-subsequences\" },\n { n: 1956, t: \"Minimum Time For K Virus Variants to Spread\", d: \"Hard\", s: \"minimum-time-for-k-virus-variants-to-spread\" },\n { n: 1957, t: \"Delete Characters to Make Fancy String\", d: \"Easy\", s: \"delete-characters-to-make-fancy-string\" },\n { n: 1958, t: \"Check if Move is Legal\", d: \"Medium\", s: \"check-if-move-is-legal\" },\n { n: 1959, t: \"Minimum Total Space Wasted With K Resizing Operations\", d: \"Medium\", s: \"minimum-total-space-wasted-with-k-resizing-operations\" },\n { n: 1960, t: \"Maximum Product of the Length of Two Palindromic Substrings\", d: \"Hard\", s: \"maximum-product-of-the-length-of-two-palindromic-substrings\" },\n { n: 1961, t: \"Check If String Is a Prefix of Array\", d: \"Easy\", s: \"check-if-string-is-a-prefix-of-array\" },\n { n: 1962, t: \"Remove Stones to Minimize the Total\", d: \"Medium\", s: \"remove-stones-to-minimize-the-total\" },\n { n: 1963, t: \"Minimum Number of Swaps to Make the String Balanced\", d: \"Medium\", s: \"minimum-number-of-swaps-to-make-the-string-balanced\" },\n { n: 1964, t: \"Find the Longest Valid Obstacle Course at Each Position\", d: \"Hard\", s: \"find-the-longest-valid-obstacle-course-at-each-position\" },\n { n: 1965, t: \"Employees With Missing Information\", d: \"Easy\", s: \"employees-with-missing-information\" },\n { n: 1966, t: \"Binary Searchable Numbers in an Unsorted Array\", d: \"Medium\", s: \"binary-searchable-numbers-in-an-unsorted-array\" },\n { n: 1967, t: \"Number of Strings That Appear as Substrings in Word\", d: \"Easy\", s: \"number-of-strings-that-appear-as-substrings-in-word\" },\n { n: 1968, t: \"Array With Elements Not Equal to Average of Neighbors\", d: \"Medium\", s: \"array-with-elements-not-equal-to-average-of-neighbors\" },\n { n: 1969, t: \"Minimum Non-Zero Product of the Array Elements\", d: \"Medium\", s: \"minimum-non-zero-product-of-the-array-elements\" },\n { n: 1970, t: \"Last Day Where You Can Still Cross\", d: \"Hard\", s: \"last-day-where-you-can-still-cross\" },\n { n: 1971, t: \"Find if Path Exists in Graph\", d: \"Easy\", s: \"find-if-path-exists-in-graph\" },\n { n: 1972, t: \"First and Last Call On the Same Day\", d: \"Hard\", s: \"first-and-last-call-on-the-same-day\" },\n { n: 1973, t: \"Count Nodes Equal to Sum of Descendants\", d: \"Medium\", s: \"count-nodes-equal-to-sum-of-descendants\" },\n { n: 1974, t: \"Minimum Time to Type Word Using Special Typewriter\", d: \"Easy\", s: \"minimum-time-to-type-word-using-special-typewriter\" },\n { n: 1975, t: \"Maximum Matrix Sum\", d: \"Medium\", s: \"maximum-matrix-sum\" },\n { n: 1976, t: \"Number of Ways to Arrive at Destination\", d: \"Medium\", s: \"number-of-ways-to-arrive-at-destination\" },\n { n: 1977, t: \"Number of Ways to Separate Numbers\", d: \"Hard\", s: \"number-of-ways-to-separate-numbers\" },\n { n: 1978, t: \"Employees Whose Manager Left the Company\", d: \"Easy\", s: \"employees-whose-manager-left-the-company\" },\n { n: 1979, t: \"Find Greatest Common Divisor of Array\", d: \"Easy\", s: \"find-greatest-common-divisor-of-array\" },\n { n: 1980, t: \"Find Unique Binary String\", d: \"Medium\", s: \"find-unique-binary-string\" },\n { n: 1981, t: \"Minimize the Difference Between Target and Chosen Elements\", d: \"Medium\", s: \"minimize-the-difference-between-target-and-chosen-elements\" },\n { n: 1982, t: \"Find Array Given Subset Sums\", d: \"Hard\", s: \"find-array-given-subset-sums\" },\n { n: 1983, t: \"Widest Pair of Indices With Equal Range Sum\", d: \"Medium\", s: \"widest-pair-of-indices-with-equal-range-sum\" },\n { n: 1984, t: \"Minimum Difference Between Highest and Lowest of K Scores\", d: \"Easy\", s: \"minimum-difference-between-highest-and-lowest-of-k-scores\" },\n { n: 1985, t: \"Find the Kth Largest Integer in the Array\", d: \"Medium\", s: \"find-the-kth-largest-integer-in-the-array\" },\n { n: 1986, t: \"Minimum Number of Work Sessions to Finish the Tasks\", d: \"Medium\", s: \"minimum-number-of-work-sessions-to-finish-the-tasks\" },\n { n: 1987, t: \"Number of Unique Good Subsequences\", d: \"Hard\", s: \"number-of-unique-good-subsequences\" },\n { n: 1988, t: \"Find Cutoff Score for Each School\", d: \"Medium\", s: \"find-cutoff-score-for-each-school\" },\n { n: 1989, t: \"Maximum Number of People That Can Be Caught in Tag\", d: \"Medium\", s: \"maximum-number-of-people-that-can-be-caught-in-tag\" },\n { n: 1990, t: \"Count the Number of Experiments\", d: \"Medium\", s: \"count-the-number-of-experiments\" },\n { n: 1991, t: \"Find the Middle Index in Array\", d: \"Easy\", s: \"find-the-middle-index-in-array\" },\n { n: 1992, t: \"Find All Groups of Farmland\", d: \"Medium\", s: \"find-all-groups-of-farmland\" },\n { n: 1993, t: \"Operations on Tree\", d: \"Medium\", s: \"operations-on-tree\" },\n { n: 1994, t: \"The Number of Good Subsets\", d: \"Hard\", s: \"the-number-of-good-subsets\" },\n { n: 1995, t: \"Count Special Quadruplets\", d: \"Easy\", s: \"count-special-quadruplets\" },\n { n: 1996, t: \"The Number of Weak Characters in the Game\", d: \"Medium\", s: \"the-number-of-weak-characters-in-the-game\" },\n { n: 1997, t: \"First Day Where You Have Been in All the Rooms\", d: \"Medium\", s: \"first-day-where-you-have-been-in-all-the-rooms\" },\n { n: 1998, t: \"GCD Sort of an Array\", d: \"Hard\", s: \"gcd-sort-of-an-array\" },\n { n: 1999, t: \"Smallest Greater Multiple Made of Two Digits\", d: \"Medium\", s: \"smallest-greater-multiple-made-of-two-digits\" },\n { n: 2000, t: \"Reverse Prefix of Word\", d: \"Easy\", s: \"reverse-prefix-of-word\" },\n { n: 2001, t: \"Number of Pairs of Interchangeable Rectangles\", d: \"Medium\", s: \"number-of-pairs-of-interchangeable-rectangles\" },\n { n: 2002, t: \"Maximum Product of the Length of Two Palindromic Subsequences\", d: \"Medium\", s: \"maximum-product-of-the-length-of-two-palindromic-subsequences\" },\n { n: 2003, t: \"Smallest Missing Genetic Value in Each Subtree\", d: \"Hard\", s: \"smallest-missing-genetic-value-in-each-subtree\" },\n { n: 2004, t: \"The Number of Seniors and Juniors to Join the Company\", d: \"Hard\", s: \"the-number-of-seniors-and-juniors-to-join-the-company\" },\n { n: 2005, t: \"Subtree Removal Game with Fibonacci Tree\", d: \"Hard\", s: \"subtree-removal-game-with-fibonacci-tree\" },\n { n: 2006, t: \"Count Number of Pairs With Absolute Difference K\", d: \"Easy\", s: \"count-number-of-pairs-with-absolute-difference-k\" },\n { n: 2007, t: \"Find Original Array From Doubled Array\", d: \"Medium\", s: \"find-original-array-from-doubled-array\" },\n { n: 2008, t: \"Maximum Earnings From Taxi\", d: \"Medium\", s: \"maximum-earnings-from-taxi\" },\n { n: 2009, t: \"Minimum Number of Operations to Make Array Continuous\", d: \"Hard\", s: \"minimum-number-of-operations-to-make-array-continuous\" },\n { n: 2010, t: \"The Number of Seniors and Juniors to Join the Company II\", d: \"Hard\", s: \"the-number-of-seniors-and-juniors-to-join-the-company-ii\" },\n { n: 2011, t: \"Final Value of Variable After Performing Operations\", d: \"Easy\", s: \"final-value-of-variable-after-performing-operations\" },\n { n: 2012, t: \"Sum of Beauty in the Array\", d: \"Medium\", s: \"sum-of-beauty-in-the-array\" },\n { n: 2013, t: \"Detect Squares\", d: \"Medium\", s: \"detect-squares\" },\n { n: 2014, t: \"Longest Subsequence Repeated k Times\", d: \"Hard\", s: \"longest-subsequence-repeated-k-times\" },\n { n: 2015, t: \"Average Height of Buildings in Each Segment\", d: \"Medium\", s: \"average-height-of-buildings-in-each-segment\" },\n { n: 2016, t: \"Maximum Difference Between Increasing Elements\", d: \"Easy\", s: \"maximum-difference-between-increasing-elements\" },\n { n: 2017, t: \"Grid Game\", d: \"Medium\", s: \"grid-game\" },\n { n: 2018, t: \"Check if Word Can Be Placed In Crossword\", d: \"Medium\", s: \"check-if-word-can-be-placed-in-crossword\" },\n { n: 2019, t: \"The Score of Students Solving Math Expression\", d: \"Hard\", s: \"the-score-of-students-solving-math-expression\" },\n { n: 2020, t: \"Number of Accounts That Did Not Stream\", d: \"Medium\", s: \"number-of-accounts-that-did-not-stream\" },\n { n: 2021, t: \"Brightest Position on Street\", d: \"Medium\", s: \"brightest-position-on-street\" },\n { n: 2022, t: \"Convert 1D Array Into 2D Array\", d: \"Easy\", s: \"convert-1d-array-into-2d-array\" },\n { n: 2023, t: \"Number of Pairs of Strings With Concatenation Equal to Target\", d: \"Medium\", s: \"number-of-pairs-of-strings-with-concatenation-equal-to-target\" },\n { n: 2024, t: \"Maximize the Confusion of an Exam\", d: \"Medium\", s: \"maximize-the-confusion-of-an-exam\" },\n { n: 2025, t: \"Maximum Number of Ways to Partition an Array\", d: \"Hard\", s: \"maximum-number-of-ways-to-partition-an-array\" },\n { n: 2026, t: \"Low-Quality Problems\", d: \"Easy\", s: \"low-quality-problems\" },\n { n: 2027, t: \"Minimum Moves to Convert String\", d: \"Easy\", s: \"minimum-moves-to-convert-string\" },\n { n: 2028, t: \"Find Missing Observations\", d: \"Medium\", s: \"find-missing-observations\" },\n { n: 2029, t: \"Stone Game IX\", d: \"Medium\", s: \"stone-game-ix\" },\n { n: 2030, t: \"Smallest K-Length Subsequence With Occurrences of a Letter\", d: \"Hard\", s: \"smallest-k-length-subsequence-with-occurrences-of-a-letter\" },\n { n: 2031, t: \"Count Subarrays With More Ones Than Zeros\", d: \"Medium\", s: \"count-subarrays-with-more-ones-than-zeros\" },\n { n: 2032, t: \"Two Out of Three\", d: \"Easy\", s: \"two-out-of-three\" },\n { n: 2033, t: \"Minimum Operations to Make a Uni-Value Grid\", d: \"Medium\", s: \"minimum-operations-to-make-a-uni-value-grid\" },\n { n: 2034, t: \"Stock Price Fluctuation\", d: \"Medium\", s: \"stock-price-fluctuation\" },\n { n: 2035, t: \"Partition Array Into Two Arrays to Minimize Sum Difference\", d: \"Hard\", s: \"partition-array-into-two-arrays-to-minimize-sum-difference\" },\n { n: 2036, t: \"Maximum Alternating Subarray Sum\", d: \"Medium\", s: \"maximum-alternating-subarray-sum\" },\n { n: 2037, t: \"Minimum Number of Moves to Seat Everyone\", d: \"Easy\", s: \"minimum-number-of-moves-to-seat-everyone\" },\n { n: 2038, t: \"Remove Colored Pieces if Both Neighbors are the Same Color\", d: \"Medium\", s: \"remove-colored-pieces-if-both-neighbors-are-the-same-color\" },\n { n: 2039, t: \"The Time When the Network Becomes Idle\", d: \"Medium\", s: \"the-time-when-the-network-becomes-idle\" },\n { n: 2040, t: \"Kth Smallest Product of Two Sorted Arrays\", d: \"Hard\", s: \"kth-smallest-product-of-two-sorted-arrays\" },\n { n: 2041, t: \"Accepted Candidates From the Interviews\", d: \"Medium\", s: \"accepted-candidates-from-the-interviews\" },\n { n: 2042, t: \"Check if Numbers Are Ascending in a Sentence\", d: \"Easy\", s: \"check-if-numbers-are-ascending-in-a-sentence\" },\n { n: 2043, t: \"Simple Bank System\", d: \"Medium\", s: \"simple-bank-system\" },\n { n: 2044, t: \"Count Number of Maximum Bitwise-OR Subsets\", d: \"Medium\", s: \"count-number-of-maximum-bitwise-or-subsets\" },\n { n: 2045, t: \"Second Minimum Time to Reach Destination\", d: \"Hard\", s: \"second-minimum-time-to-reach-destination\" },\n { n: 2046, t: \"Sort Linked List Already Sorted Using Absolute Values\", d: \"Medium\", s: \"sort-linked-list-already-sorted-using-absolute-values\" },\n { n: 2047, t: \"Number of Valid Words in a Sentence\", d: \"Easy\", s: \"number-of-valid-words-in-a-sentence\" },\n { n: 2048, t: \"Next Greater Numerically Balanced Number\", d: \"Medium\", s: \"next-greater-numerically-balanced-number\" },\n { n: 2049, t: \"Count Nodes With the Highest Score\", d: \"Medium\", s: \"count-nodes-with-the-highest-score\" },\n { n: 2050, t: \"Parallel Courses III\", d: \"Hard\", s: \"parallel-courses-iii\" },\n { n: 2051, t: \"The Category of Each Member in the Store\", d: \"Medium\", s: \"the-category-of-each-member-in-the-store\" },\n { n: 2052, t: \"Minimum Cost to Separate Sentence Into Rows\", d: \"Medium\", s: \"minimum-cost-to-separate-sentence-into-rows\" },\n { n: 2053, t: \"Kth Distinct String in an Array\", d: \"Easy\", s: \"kth-distinct-string-in-an-array\" },\n { n: 2054, t: \"Two Best Non-Overlapping Events\", d: \"Medium\", s: \"two-best-non-overlapping-events\" },\n { n: 2055, t: \"Plates Between Candles\", d: \"Medium\", s: \"plates-between-candles\" },\n { n: 2056, t: \"Number of Valid Move Combinations On Chessboard\", d: \"Hard\", s: \"number-of-valid-move-combinations-on-chessboard\" },\n { n: 2057, t: \"Smallest Index With Equal Value\", d: \"Easy\", s: \"smallest-index-with-equal-value\" },\n { n: 2058, t: \"Find the Minimum and Maximum Number of Nodes Between Critical Points\", d: \"Medium\", s: \"find-the-minimum-and-maximum-number-of-nodes-between-critical-points\" },\n { n: 2059, t: \"Minimum Operations to Convert Number\", d: \"Medium\", s: \"minimum-operations-to-convert-number\" },\n { n: 2060, t: \"Check if an Original String Exists Given Two Encoded Strings\", d: \"Hard\", s: \"check-if-an-original-string-exists-given-two-encoded-strings\" },\n { n: 2061, t: \"Number of Spaces Cleaning Robot Cleaned\", d: \"Medium\", s: \"number-of-spaces-cleaning-robot-cleaned\" },\n { n: 2062, t: \"Count Vowel Substrings of a String\", d: \"Easy\", s: \"count-vowel-substrings-of-a-string\" },\n { n: 2063, t: \"Vowels of All Substrings\", d: \"Medium\", s: \"vowels-of-all-substrings\" },\n { n: 2064, t: \"Minimized Maximum of Products Distributed to Any Store\", d: \"Medium\", s: \"minimized-maximum-of-products-distributed-to-any-store\" },\n { n: 2065, t: \"Maximum Path Quality of a Graph\", d: \"Hard\", s: \"maximum-path-quality-of-a-graph\" },\n { n: 2066, t: \"Account Balance\", d: \"Medium\", s: \"account-balance\" },\n { n: 2067, t: \"Number of Equal Count Substrings\", d: \"Medium\", s: \"number-of-equal-count-substrings\" },\n { n: 2068, t: \"Check Whether Two Strings are Almost Equivalent\", d: \"Easy\", s: \"check-whether-two-strings-are-almost-equivalent\" },\n { n: 2069, t: \"Walking Robot Simulation II\", d: \"Medium\", s: \"walking-robot-simulation-ii\" },\n { n: 2070, t: \"Most Beautiful Item for Each Query\", d: \"Medium\", s: \"most-beautiful-item-for-each-query\" },\n { n: 2071, t: \"Maximum Number of Tasks You Can Assign\", d: \"Hard\", s: \"maximum-number-of-tasks-you-can-assign\" },\n { n: 2072, t: \"The Winner University\", d: \"Easy\", s: \"the-winner-university\" },\n { n: 2073, t: \"Time Needed to Buy Tickets\", d: \"Easy\", s: \"time-needed-to-buy-tickets\" },\n { n: 2074, t: \"Reverse Nodes in Even Length Groups\", d: \"Medium\", s: \"reverse-nodes-in-even-length-groups\" },\n { n: 2075, t: \"Decode the Slanted Ciphertext\", d: \"Medium\", s: \"decode-the-slanted-ciphertext\" },\n { n: 2076, t: \"Process Restricted Friend Requests\", d: \"Hard\", s: \"process-restricted-friend-requests\" },\n { n: 2077, t: \"Paths in Maze That Lead to Same Room\", d: \"Medium\", s: \"paths-in-maze-that-lead-to-same-room\" },\n { n: 2078, t: \"Two Furthest Houses With Different Colors\", d: \"Easy\", s: \"two-furthest-houses-with-different-colors\" },\n { n: 2079, t: \"Watering Plants\", d: \"Medium\", s: \"watering-plants\" },\n { n: 2080, t: \"Range Frequency Queries\", d: \"Medium\", s: \"range-frequency-queries\" },\n { n: 2081, t: \"Sum of k-Mirror Numbers\", d: \"Hard\", s: \"sum-of-k-mirror-numbers\" },\n { n: 2082, t: \"The Number of Rich Customers\", d: \"Easy\", s: \"the-number-of-rich-customers\" },\n { n: 2083, t: \"Substrings That Begin and End With the Same Letter\", d: \"Medium\", s: \"substrings-that-begin-and-end-with-the-same-letter\" },\n { n: 2084, t: \"Drop Type 1 Orders for Customers With Type 0 Orders\", d: \"Medium\", s: \"drop-type-1-orders-for-customers-with-type-0-orders\" },\n { n: 2085, t: \"Count Common Words With One Occurrence\", d: \"Easy\", s: \"count-common-words-with-one-occurrence\" },\n { n: 2086, t: \"Minimum Number of Food Buckets to Feed the Hamsters\", d: \"Medium\", s: \"minimum-number-of-food-buckets-to-feed-the-hamsters\" },\n { n: 2087, t: \"Minimum Cost Homecoming of a Robot in a Grid\", d: \"Medium\", s: \"minimum-cost-homecoming-of-a-robot-in-a-grid\" },\n { n: 2088, t: \"Count Fertile Pyramids in a Land\", d: \"Hard\", s: \"count-fertile-pyramids-in-a-land\" },\n { n: 2089, t: \"Find Target Indices After Sorting Array\", d: \"Easy\", s: \"find-target-indices-after-sorting-array\" },\n { n: 2090, t: \"K Radius Subarray Averages\", d: \"Medium\", s: \"k-radius-subarray-averages\" },\n { n: 2091, t: \"Removing Minimum and Maximum From Array\", d: \"Medium\", s: \"removing-minimum-and-maximum-from-array\" },\n { n: 2092, t: \"Find All People With Secret\", d: \"Hard\", s: \"find-all-people-with-secret\" },\n { n: 2093, t: \"Minimum Cost to Reach City With Discounts\", d: \"Medium\", s: \"minimum-cost-to-reach-city-with-discounts\" },\n { n: 2094, t: \"Finding 3-Digit Even Numbers\", d: \"Easy\", s: \"finding-3-digit-even-numbers\" },\n { n: 2095, t: \"Delete the Middle Node of a Linked List\", d: \"Medium\", s: \"delete-the-middle-node-of-a-linked-list\" },\n { n: 2096, t: \"Step-By-Step Directions From a Binary Tree Node to Another\", d: \"Medium\", s: \"step-by-step-directions-from-a-binary-tree-node-to-another\" },\n { n: 2097, t: \"Valid Arrangement of Pairs\", d: \"Hard\", s: \"valid-arrangement-of-pairs\" },\n { n: 2098, t: \"Subsequence of Size K With the Largest Even Sum\", d: \"Medium\", s: \"subsequence-of-size-k-with-the-largest-even-sum\" },\n { n: 2099, t: \"Find Subsequence of Length K With the Largest Sum\", d: \"Easy\", s: \"find-subsequence-of-length-k-with-the-largest-sum\" },\n { n: 2100, t: \"Find Good Days to Rob the Bank\", d: \"Medium\", s: \"find-good-days-to-rob-the-bank\" },\n { n: 2101, t: \"Detonate the Maximum Bombs\", d: \"Medium\", s: \"detonate-the-maximum-bombs\" },\n { n: 2102, t: \"Sequentially Ordinal Rank Tracker\", d: \"Hard\", s: \"sequentially-ordinal-rank-tracker\" },\n { n: 2103, t: \"Rings and Rods\", d: \"Easy\", s: \"rings-and-rods\" },\n { n: 2104, t: \"Sum of Subarray Ranges\", d: \"Medium\", s: \"sum-of-subarray-ranges\" },\n { n: 2105, t: \"Watering Plants II\", d: \"Medium\", s: \"watering-plants-ii\" },\n { n: 2106, t: \"Maximum Fruits Harvested After at Most K Steps\", d: \"Hard\", s: \"maximum-fruits-harvested-after-at-most-k-steps\" },\n { n: 2107, t: \"Number of Unique Flavors After Sharing K Candies\", d: \"Medium\", s: \"number-of-unique-flavors-after-sharing-k-candies\" },\n { n: 2108, t: \"Find First Palindromic String in the Array\", d: \"Easy\", s: \"find-first-palindromic-string-in-the-array\" },\n { n: 2109, t: \"Adding Spaces to a String\", d: \"Medium\", s: \"adding-spaces-to-a-string\" },\n { n: 2110, t: \"Number of Smooth Descent Periods of a Stock\", d: \"Medium\", s: \"number-of-smooth-descent-periods-of-a-stock\" },\n { n: 2111, t: \"Minimum Operations to Make the Array K-Increasing\", d: \"Hard\", s: \"minimum-operations-to-make-the-array-k-increasing\" },\n { n: 2112, t: \"The Airport With the Most Traffic\", d: \"Medium\", s: \"the-airport-with-the-most-traffic\" },\n { n: 2113, t: \"Elements in Array After Removing and Replacing Elements\", d: \"Medium\", s: \"elements-in-array-after-removing-and-replacing-elements\" },\n { n: 2114, t: \"Maximum Number of Words Found in Sentences\", d: \"Easy\", s: \"maximum-number-of-words-found-in-sentences\" },\n { n: 2115, t: \"Find All Possible Recipes from Given Supplies\", d: \"Medium\", s: \"find-all-possible-recipes-from-given-supplies\" },\n { n: 2116, t: \"Check if a Parentheses String Can Be Valid\", d: \"Medium\", s: \"check-if-a-parentheses-string-can-be-valid\" },\n { n: 2117, t: \"Abbreviating the Product of a Range\", d: \"Hard\", s: \"abbreviating-the-product-of-a-range\" },\n { n: 2118, t: \"Build the Equation\", d: \"Hard\", s: \"build-the-equation\" },\n { n: 2119, t: \"A Number After a Double Reversal\", d: \"Easy\", s: \"a-number-after-a-double-reversal\" },\n { n: 2120, t: \"Execution of All Suffix Instructions Staying in a Grid\", d: \"Medium\", s: \"execution-of-all-suffix-instructions-staying-in-a-grid\" },\n { n: 2121, t: \"Intervals Between Identical Elements\", d: \"Medium\", s: \"intervals-between-identical-elements\" },\n { n: 2122, t: \"Recover the Original Array\", d: \"Hard\", s: \"recover-the-original-array\" },\n { n: 2123, t: \"Minimum Operations to Remove Adjacent Ones in Matrix\", d: \"Hard\", s: \"minimum-operations-to-remove-adjacent-ones-in-matrix\" },\n { n: 2124, t: \"Check if All A\\'s Appears Before All B\\'s\", d: \"Easy\", s: \"check-if-all-as-appears-before-all-bs\" },\n { n: 2125, t: \"Number of Laser Beams in a Bank\", d: \"Medium\", s: \"number-of-laser-beams-in-a-bank\" },\n { n: 2126, t: \"Destroying Asteroids\", d: \"Medium\", s: \"destroying-asteroids\" },\n { n: 2127, t: \"Maximum Employees to Be Invited to a Meeting\", d: \"Hard\", s: \"maximum-employees-to-be-invited-to-a-meeting\" },\n { n: 2128, t: \"Remove All Ones With Row and Column Flips\", d: \"Medium\", s: \"remove-all-ones-with-row-and-column-flips\" },\n { n: 2129, t: \"Capitalize the Title\", d: \"Easy\", s: \"capitalize-the-title\" },\n { n: 2130, t: \"Maximum Twin Sum of a Linked List\", d: \"Medium\", s: \"maximum-twin-sum-of-a-linked-list\" },\n { n: 2131, t: \"Longest Palindrome by Concatenating Two Letter Words\", d: \"Medium\", s: \"longest-palindrome-by-concatenating-two-letter-words\" },\n { n: 2132, t: \"Stamping the Grid\", d: \"Hard\", s: \"stamping-the-grid\" },\n { n: 2133, t: \"Check if Every Row and Column Contains All Numbers\", d: \"Easy\", s: \"check-if-every-row-and-column-contains-all-numbers\" },\n { n: 2134, t: \"Minimum Swaps to Group All 1\\'s Together II\", d: \"Medium\", s: \"minimum-swaps-to-group-all-1s-together-ii\" },\n { n: 2135, t: \"Count Words Obtained After Adding a Letter\", d: \"Medium\", s: \"count-words-obtained-after-adding-a-letter\" },\n { n: 2136, t: \"Earliest Possible Day of Full Bloom\", d: \"Hard\", s: \"earliest-possible-day-of-full-bloom\" },\n { n: 2137, t: \"Pour Water Between Buckets to Make Water Levels Equal\", d: \"Medium\", s: \"pour-water-between-buckets-to-make-water-levels-equal\" },\n { n: 2138, t: \"Divide a String Into Groups of Size k\", d: \"Easy\", s: \"divide-a-string-into-groups-of-size-k\" },\n { n: 2139, t: \"Minimum Moves to Reach Target Score\", d: \"Medium\", s: \"minimum-moves-to-reach-target-score\" },\n { n: 2140, t: \"Solving Questions With Brainpower\", d: \"Medium\", s: \"solving-questions-with-brainpower\" },\n { n: 2141, t: \"Maximum Running Time of N Computers\", d: \"Hard\", s: \"maximum-running-time-of-n-computers\" },\n { n: 2142, t: \"The Number of Passengers in Each Bus I\", d: \"Medium\", s: \"the-number-of-passengers-in-each-bus-i\" },\n { n: 2143, t: \"Choose Numbers From Two Arrays in Range\", d: \"Hard\", s: \"choose-numbers-from-two-arrays-in-range\" },\n { n: 2144, t: \"Minimum Cost of Buying Candies With Discount\", d: \"Easy\", s: \"minimum-cost-of-buying-candies-with-discount\" },\n { n: 2145, t: \"Count the Hidden Sequences\", d: \"Medium\", s: \"count-the-hidden-sequences\" },\n { n: 2146, t: \"K Highest Ranked Items Within a Price Range\", d: \"Medium\", s: \"k-highest-ranked-items-within-a-price-range\" },\n { n: 2147, t: \"Number of Ways to Divide a Long Corridor\", d: \"Hard\", s: \"number-of-ways-to-divide-a-long-corridor\" },\n { n: 2148, t: \"Count Elements With Strictly Smaller and Greater Elements\", d: \"Easy\", s: \"count-elements-with-strictly-smaller-and-greater-elements\" },\n { n: 2149, t: \"Rearrange Array Elements by Sign\", d: \"Medium\", s: \"rearrange-array-elements-by-sign\" },\n { n: 2150, t: \"Find All Lonely Numbers in the Array\", d: \"Medium\", s: \"find-all-lonely-numbers-in-the-array\" },\n { n: 2151, t: \"Maximum Good People Based on Statements\", d: \"Hard\", s: \"maximum-good-people-based-on-statements\" },\n { n: 2152, t: \"Minimum Number of Lines to Cover Points\", d: \"Medium\", s: \"minimum-number-of-lines-to-cover-points\" },\n { n: 2153, t: \"The Number of Passengers in Each Bus II\", d: \"Hard\", s: \"the-number-of-passengers-in-each-bus-ii\" },\n { n: 2154, t: \"Keep Multiplying Found Values by Two\", d: \"Easy\", s: \"keep-multiplying-found-values-by-two\" },\n { n: 2155, t: \"All Divisions With the Highest Score of a Binary Array\", d: \"Medium\", s: \"all-divisions-with-the-highest-score-of-a-binary-array\" },\n { n: 2156, t: \"Find Substring With Given Hash Value\", d: \"Hard\", s: \"find-substring-with-given-hash-value\" },\n { n: 2157, t: \"Groups of Strings\", d: \"Hard\", s: \"groups-of-strings\" },\n { n: 2158, t: \"Amount of New Area Painted Each Day\", d: \"Hard\", s: \"amount-of-new-area-painted-each-day\" },\n { n: 2159, t: \"Order Two Columns Independently\", d: \"Medium\", s: \"order-two-columns-independently\" },\n { n: 2160, t: \"Minimum Sum of Four Digit Number After Splitting Digits\", d: \"Easy\", s: \"minimum-sum-of-four-digit-number-after-splitting-digits\" },\n { n: 2161, t: \"Partition Array According to Given Pivot\", d: \"Medium\", s: \"partition-array-according-to-given-pivot\" },\n { n: 2162, t: \"Minimum Cost to Set Cooking Time\", d: \"Medium\", s: \"minimum-cost-to-set-cooking-time\" },\n { n: 2163, t: \"Minimum Difference in Sums After Removal of Elements\", d: \"Hard\", s: \"minimum-difference-in-sums-after-removal-of-elements\" },\n { n: 2164, t: \"Sort Even and Odd Indices Independently\", d: \"Easy\", s: \"sort-even-and-odd-indices-independently\" },\n { n: 2165, t: \"Smallest Value of the Rearranged Number\", d: \"Medium\", s: \"smallest-value-of-the-rearranged-number\" },\n { n: 2166, t: \"Design Bitset\", d: \"Medium\", s: \"design-bitset\" },\n { n: 2167, t: \"Minimum Time to Remove All Cars Containing Illegal Goods\", d: \"Hard\", s: \"minimum-time-to-remove-all-cars-containing-illegal-goods\" },\n { n: 2168, t: \"Unique Substrings With Equal Digit Frequency\", d: \"Medium\", s: \"unique-substrings-with-equal-digit-frequency\" },\n { n: 2169, t: \"Count Operations to Obtain Zero\", d: \"Easy\", s: \"count-operations-to-obtain-zero\" },\n { n: 2170, t: \"Minimum Operations to Make the Array Alternating\", d: \"Medium\", s: \"minimum-operations-to-make-the-array-alternating\" },\n { n: 2171, t: \"Removing Minimum Number of Magic Beans\", d: \"Medium\", s: \"removing-minimum-number-of-magic-beans\" },\n { n: 2172, t: \"Maximum AND Sum of Array\", d: \"Hard\", s: \"maximum-and-sum-of-array\" },\n { n: 2173, t: \"Longest Winning Streak\", d: \"Hard\", s: \"longest-winning-streak\" },\n { n: 2174, t: \"Remove All Ones With Row and Column Flips II\", d: \"Medium\", s: \"remove-all-ones-with-row-and-column-flips-ii\" },\n { n: 2175, t: \"The Change in Global Rankings\", d: \"Medium\", s: \"the-change-in-global-rankings\" },\n { n: 2176, t: \"Count Equal and Divisible Pairs in an Array\", d: \"Easy\", s: \"count-equal-and-divisible-pairs-in-an-array\" },\n { n: 2177, t: \"Find Three Consecutive Integers That Sum to a Given Number\", d: \"Medium\", s: \"find-three-consecutive-integers-that-sum-to-a-given-number\" },\n { n: 2178, t: \"Maximum Split of Positive Even Integers\", d: \"Medium\", s: \"maximum-split-of-positive-even-integers\" },\n { n: 2179, t: \"Count Good Triplets in an Array\", d: \"Hard\", s: \"count-good-triplets-in-an-array\" },\n { n: 2180, t: \"Count Integers With Even Digit Sum\", d: \"Easy\", s: \"count-integers-with-even-digit-sum\" },\n { n: 2181, t: \"Merge Nodes in Between Zeros\", d: \"Medium\", s: \"merge-nodes-in-between-zeros\" },\n { n: 2182, t: \"Construct String With Repeat Limit\", d: \"Medium\", s: \"construct-string-with-repeat-limit\" },\n { n: 2183, t: \"Count Array Pairs Divisible by K\", d: \"Hard\", s: \"count-array-pairs-divisible-by-k\" },\n { n: 2184, t: \"Number of Ways to Build Sturdy Brick Wall\", d: \"Medium\", s: \"number-of-ways-to-build-sturdy-brick-wall\" },\n { n: 2185, t: \"Counting Words With a Given Prefix\", d: \"Easy\", s: \"counting-words-with-a-given-prefix\" },\n { n: 2186, t: \"Minimum Number of Steps to Make Two Strings Anagram II\", d: \"Medium\", s: \"minimum-number-of-steps-to-make-two-strings-anagram-ii\" },\n { n: 2187, t: \"Minimum Time to Complete Trips\", d: \"Medium\", s: \"minimum-time-to-complete-trips\" },\n { n: 2188, t: \"Minimum Time to Finish the Race\", d: \"Hard\", s: \"minimum-time-to-finish-the-race\" },\n { n: 2189, t: \"Number of Ways to Build House of Cards\", d: \"Medium\", s: \"number-of-ways-to-build-house-of-cards\" },\n { n: 2190, t: \"Most Frequent Number Following Key In an Array\", d: \"Easy\", s: \"most-frequent-number-following-key-in-an-array\" },\n { n: 2191, t: \"Sort the Jumbled Numbers\", d: \"Medium\", s: \"sort-the-jumbled-numbers\" },\n { n: 2192, t: \"All Ancestors of a Node in a Directed Acyclic Graph\", d: \"Medium\", s: \"all-ancestors-of-a-node-in-a-directed-acyclic-graph\" },\n { n: 2193, t: \"Minimum Number of Moves to Make Palindrome\", d: \"Hard\", s: \"minimum-number-of-moves-to-make-palindrome\" },\n { n: 2194, t: \"Cells in a Range on an Excel Sheet\", d: \"Easy\", s: \"cells-in-a-range-on-an-excel-sheet\" },\n { n: 2195, t: \"Append K Integers With Minimal Sum\", d: \"Medium\", s: \"append-k-integers-with-minimal-sum\" },\n { n: 2196, t: \"Create Binary Tree From Descriptions\", d: \"Medium\", s: \"create-binary-tree-from-descriptions\" },\n { n: 2197, t: \"Replace Non-Coprime Numbers in Array\", d: \"Hard\", s: \"replace-non-coprime-numbers-in-array\" },\n { n: 2198, t: \"Number of Single Divisor Triplets\", d: \"Medium\", s: \"number-of-single-divisor-triplets\" },\n { n: 2199, t: \"Finding the Topic of Each Post\", d: \"Hard\", s: \"finding-the-topic-of-each-post\" },\n { n: 2200, t: \"Find All K-Distant Indices in an Array\", d: \"Easy\", s: \"find-all-k-distant-indices-in-an-array\" },\n { n: 2201, t: \"Count Artifacts That Can Be Extracted\", d: \"Medium\", s: \"count-artifacts-that-can-be-extracted\" },\n { n: 2202, t: \"Maximize the Topmost Element After K Moves\", d: \"Medium\", s: \"maximize-the-topmost-element-after-k-moves\" },\n { n: 2203, t: \"Minimum Weighted Subgraph With the Required Paths\", d: \"Hard\", s: \"minimum-weighted-subgraph-with-the-required-paths\" },\n { n: 2204, t: \"Distance to a Cycle in Undirected Graph\", d: \"Hard\", s: \"distance-to-a-cycle-in-undirected-graph\" },\n { n: 2205, t: \"The Number of Users That Are Eligible for Discount\", d: \"Easy\", s: \"the-number-of-users-that-are-eligible-for-discount\" },\n { n: 2206, t: \"Divide Array Into Equal Pairs\", d: \"Easy\", s: \"divide-array-into-equal-pairs\" },\n { n: 2207, t: \"Maximize Number of Subsequences in a String\", d: \"Medium\", s: \"maximize-number-of-subsequences-in-a-string\" },\n { n: 2208, t: \"Minimum Operations to Halve Array Sum\", d: \"Medium\", s: \"minimum-operations-to-halve-array-sum\" },\n { n: 2209, t: \"Minimum White Tiles After Covering With Carpets\", d: \"Hard\", s: \"minimum-white-tiles-after-covering-with-carpets\" },\n { n: 2210, t: \"Count Hills and Valleys in an Array\", d: \"Easy\", s: \"count-hills-and-valleys-in-an-array\" },\n { n: 2211, t: \"Count Collisions on a Road\", d: \"Medium\", s: \"count-collisions-on-a-road\" },\n { n: 2212, t: \"Maximum Points in an Archery Competition\", d: \"Medium\", s: \"maximum-points-in-an-archery-competition\" },\n { n: 2213, t: \"Longest Substring of One Repeating Character\", d: \"Hard\", s: \"longest-substring-of-one-repeating-character\" },\n { n: 2214, t: \"Minimum Health to Beat Game\", d: \"Medium\", s: \"minimum-health-to-beat-game\" },\n { n: 2215, t: \"Find the Difference of Two Arrays\", d: \"Easy\", s: \"find-the-difference-of-two-arrays\" },\n { n: 2216, t: \"Minimum Deletions to Make Array Beautiful\", d: \"Medium\", s: \"minimum-deletions-to-make-array-beautiful\" },\n { n: 2217, t: \"Find Palindrome With Fixed Length\", d: \"Medium\", s: \"find-palindrome-with-fixed-length\" },\n { n: 2218, t: \"Maximum Value of K Coins From Piles\", d: \"Hard\", s: \"maximum-value-of-k-coins-from-piles\" },\n { n: 2219, t: \"Maximum Sum Score of Array\", d: \"Medium\", s: \"maximum-sum-score-of-array\" },\n { n: 2220, t: \"Minimum Bit Flips to Convert Number\", d: \"Easy\", s: \"minimum-bit-flips-to-convert-number\" },\n { n: 2221, t: \"Find Triangular Sum of an Array\", d: \"Medium\", s: \"find-triangular-sum-of-an-array\" },\n { n: 2222, t: \"Number of Ways to Select Buildings\", d: \"Medium\", s: \"number-of-ways-to-select-buildings\" },\n { n: 2223, t: \"Sum of Scores of Built Strings\", d: \"Hard\", s: \"sum-of-scores-of-built-strings\" },\n { n: 2224, t: \"Minimum Number of Operations to Convert Time\", d: \"Easy\", s: \"minimum-number-of-operations-to-convert-time\" },\n { n: 2225, t: \"Find Players With Zero or One Losses\", d: \"Medium\", s: \"find-players-with-zero-or-one-losses\" },\n { n: 2226, t: \"Maximum Candies Allocated to K Children\", d: \"Medium\", s: \"maximum-candies-allocated-to-k-children\" },\n { n: 2227, t: \"Encrypt and Decrypt Strings\", d: \"Hard\", s: \"encrypt-and-decrypt-strings\" },\n { n: 2228, t: \"Users With Two Purchases Within Seven Days\", d: \"Medium\", s: \"users-with-two-purchases-within-seven-days\" },\n { n: 2229, t: \"Check if an Array Is Consecutive\", d: \"Easy\", s: \"check-if-an-array-is-consecutive\" },\n { n: 2230, t: \"The Users That Are Eligible for Discount\", d: \"Easy\", s: \"the-users-that-are-eligible-for-discount\" },\n { n: 2231, t: \"Largest Number After Digit Swaps by Parity\", d: \"Easy\", s: \"largest-number-after-digit-swaps-by-parity\" },\n { n: 2232, t: \"Minimize Result by Adding Parentheses to Expression\", d: \"Medium\", s: \"minimize-result-by-adding-parentheses-to-expression\" },\n { n: 2233, t: \"Maximum Product After K Increments\", d: \"Medium\", s: \"maximum-product-after-k-increments\" },\n { n: 2234, t: \"Maximum Total Beauty of the Gardens\", d: \"Hard\", s: \"maximum-total-beauty-of-the-gardens\" },\n { n: 2235, t: \"Add Two Integers\", d: \"Easy\", s: \"add-two-integers\" },\n { n: 2236, t: \"Root Equals Sum of Children\", d: \"Easy\", s: \"root-equals-sum-of-children\" },\n { n: 2237, t: \"Count Positions on Street With Required Brightness\", d: \"Medium\", s: \"count-positions-on-street-with-required-brightness\" },\n { n: 2238, t: \"Number of Times a Driver Was a Passenger\", d: \"Medium\", s: \"number-of-times-a-driver-was-a-passenger\" },\n { n: 2239, t: \"Find Closest Number to Zero\", d: \"Easy\", s: \"find-closest-number-to-zero\" },\n { n: 2240, t: \"Number of Ways to Buy Pens and Pencils\", d: \"Medium\", s: \"number-of-ways-to-buy-pens-and-pencils\" },\n { n: 2241, t: \"Design an ATM Machine\", d: \"Medium\", s: \"design-an-atm-machine\" },\n { n: 2242, t: \"Maximum Score of a Node Sequence\", d: \"Hard\", s: \"maximum-score-of-a-node-sequence\" },\n { n: 2243, t: \"Calculate Digit Sum of a String\", d: \"Easy\", s: \"calculate-digit-sum-of-a-string\" },\n { n: 2244, t: \"Minimum Rounds to Complete All Tasks\", d: \"Medium\", s: \"minimum-rounds-to-complete-all-tasks\" },\n { n: 2245, t: \"Maximum Trailing Zeros in a Cornered Path\", d: \"Medium\", s: \"maximum-trailing-zeros-in-a-cornered-path\" },\n { n: 2246, t: \"Longest Path With Different Adjacent Characters\", d: \"Hard\", s: \"longest-path-with-different-adjacent-characters\" },\n { n: 2247, t: \"Maximum Cost of Trip With K Highways\", d: \"Hard\", s: \"maximum-cost-of-trip-with-k-highways\" },\n { n: 2248, t: \"Intersection of Multiple Arrays\", d: \"Easy\", s: \"intersection-of-multiple-arrays\" },\n { n: 2249, t: \"Count Lattice Points Inside a Circle\", d: \"Medium\", s: \"count-lattice-points-inside-a-circle\" },\n { n: 2250, t: \"Count Number of Rectangles Containing Each Point\", d: \"Medium\", s: \"count-number-of-rectangles-containing-each-point\" },\n { n: 2251, t: \"Number of Flowers in Full Bloom\", d: \"Hard\", s: \"number-of-flowers-in-full-bloom\" },\n { n: 2252, t: \"Dynamic Pivoting of a Table\", d: \"Hard\", s: \"dynamic-pivoting-of-a-table\" },\n { n: 2253, t: \"Dynamic Unpivoting of a Table\", d: \"Hard\", s: \"dynamic-unpivoting-of-a-table\" },\n { n: 2254, t: \"Design Video Sharing Platform\", d: \"Hard\", s: \"design-video-sharing-platform\" },\n { n: 2255, t: \"Count Prefixes of a Given String\", d: \"Easy\", s: \"count-prefixes-of-a-given-string\" },\n { n: 2256, t: \"Minimum Average Difference\", d: \"Medium\", s: \"minimum-average-difference\" },\n { n: 2257, t: \"Count Unguarded Cells in the Grid\", d: \"Medium\", s: \"count-unguarded-cells-in-the-grid\" },\n { n: 2258, t: \"Escape the Spreading Fire\", d: \"Hard\", s: \"escape-the-spreading-fire\" },\n { n: 2259, t: \"Remove Digit From Number to Maximize Result\", d: \"Easy\", s: \"remove-digit-from-number-to-maximize-result\" },\n { n: 2260, t: \"Minimum Consecutive Cards to Pick Up\", d: \"Medium\", s: \"minimum-consecutive-cards-to-pick-up\" },\n { n: 2261, t: \"K Divisible Elements Subarrays\", d: \"Medium\", s: \"k-divisible-elements-subarrays\" },\n { n: 2262, t: \"Total Appeal of A String\", d: \"Hard\", s: \"total-appeal-of-a-string\" },\n { n: 2263, t: \"Make Array Non-decreasing or Non-increasing\", d: \"Hard\", s: \"make-array-non-decreasing-or-non-increasing\" },\n { n: 2264, t: \"Largest 3-Same-Digit Number in String\", d: \"Easy\", s: \"largest-3-same-digit-number-in-string\" },\n { n: 2265, t: \"Count Nodes Equal to Average of Subtree\", d: \"Medium\", s: \"count-nodes-equal-to-average-of-subtree\" },\n { n: 2266, t: \"Count Number of Texts\", d: \"Medium\", s: \"count-number-of-texts\" },\n { n: 2267, t: \"Check if There Is a Valid Parentheses String Path\", d: \"Hard\", s: \"check-if-there-is-a-valid-parentheses-string-path\" },\n { n: 2268, t: \"Minimum Number of Keypresses\", d: \"Medium\", s: \"minimum-number-of-keypresses\" },\n { n: 2269, t: \"Find the K-Beauty of a Number\", d: \"Easy\", s: \"find-the-k-beauty-of-a-number\" },\n { n: 2270, t: \"Number of Ways to Split Array\", d: \"Medium\", s: \"number-of-ways-to-split-array\" },\n { n: 2271, t: \"Maximum White Tiles Covered by a Carpet\", d: \"Medium\", s: \"maximum-white-tiles-covered-by-a-carpet\" },\n { n: 2272, t: \"Substring With Largest Variance\", d: \"Hard\", s: \"substring-with-largest-variance\" },\n { n: 2273, t: \"Find Resultant Array After Removing Anagrams\", d: \"Easy\", s: \"find-resultant-array-after-removing-anagrams\" },\n { n: 2274, t: \"Maximum Consecutive Floors Without Special Floors\", d: \"Medium\", s: \"maximum-consecutive-floors-without-special-floors\" },\n { n: 2275, t: \"Largest Combination With Bitwise AND Greater Than Zero\", d: \"Medium\", s: \"largest-combination-with-bitwise-and-greater-than-zero\" },\n { n: 2276, t: \"Count Integers in Intervals\", d: \"Hard\", s: \"count-integers-in-intervals\" },\n { n: 2277, t: \"Closest Node to Path in Tree\", d: \"Hard\", s: \"closest-node-to-path-in-tree\" },\n { n: 2278, t: \"Percentage of Letter in String\", d: \"Easy\", s: \"percentage-of-letter-in-string\" },\n { n: 2279, t: \"Maximum Bags With Full Capacity of Rocks\", d: \"Medium\", s: \"maximum-bags-with-full-capacity-of-rocks\" },\n { n: 2280, t: \"Minimum Lines to Represent a Line Chart\", d: \"Medium\", s: \"minimum-lines-to-represent-a-line-chart\" },\n { n: 2281, t: \"Sum of Total Strength of Wizards\", d: \"Hard\", s: \"sum-of-total-strength-of-wizards\" },\n { n: 2282, t: \"Number of People That Can Be Seen in a Grid\", d: \"Medium\", s: \"number-of-people-that-can-be-seen-in-a-grid\" },\n { n: 2283, t: \"Check if Number Has Equal Digit Count and Digit Value\", d: \"Easy\", s: \"check-if-number-has-equal-digit-count-and-digit-value\" },\n { n: 2284, t: \"Sender With Largest Word Count\", d: \"Medium\", s: \"sender-with-largest-word-count\" },\n { n: 2285, t: \"Maximum Total Importance of Roads\", d: \"Medium\", s: \"maximum-total-importance-of-roads\" },\n { n: 2286, t: \"Booking Concert Tickets in Groups\", d: \"Hard\", s: \"booking-concert-tickets-in-groups\" },\n { n: 2287, t: \"Rearrange Characters to Make Target String\", d: \"Easy\", s: \"rearrange-characters-to-make-target-string\" },\n { n: 2288, t: \"Apply Discount to Prices\", d: \"Medium\", s: \"apply-discount-to-prices\" },\n { n: 2289, t: \"Steps to Make Array Non-decreasing\", d: \"Medium\", s: \"steps-to-make-array-non-decreasing\" },\n { n: 2290, t: \"Minimum Obstacle Removal to Reach Corner\", d: \"Hard\", s: \"minimum-obstacle-removal-to-reach-corner\" },\n { n: 2291, t: \"Maximum Profit From Trading Stocks\", d: \"Medium\", s: \"maximum-profit-from-trading-stocks\" },\n { n: 2292, t: \"Products With Three or More Orders in Two Consecutive Years\", d: \"Medium\", s: \"products-with-three-or-more-orders-in-two-consecutive-years\" },\n { n: 2293, t: \"Min Max Game\", d: \"Easy\", s: \"min-max-game\" },\n { n: 2294, t: \"Partition Array Such That Maximum Difference Is K\", d: \"Medium\", s: \"partition-array-such-that-maximum-difference-is-k\" },\n { n: 2295, t: \"Replace Elements in an Array\", d: \"Medium\", s: \"replace-elements-in-an-array\" },\n { n: 2296, t: \"Design a Text Editor\", d: \"Hard\", s: \"design-a-text-editor\" },\n { n: 2297, t: \"Jump Game VIII\", d: \"Medium\", s: \"jump-game-viii\" },\n { n: 2298, t: \"Tasks Count in the Weekend\", d: \"Medium\", s: \"tasks-count-in-the-weekend\" },\n { n: 2299, t: \"Strong Password Checker II\", d: \"Easy\", s: \"strong-password-checker-ii\" },\n { n: 2300, t: \"Successful Pairs of Spells and Potions\", d: \"Medium\", s: \"successful-pairs-of-spells-and-potions\" },\n { n: 2301, t: \"Match Substring After Replacement\", d: \"Hard\", s: \"match-substring-after-replacement\" },\n { n: 2302, t: \"Count Subarrays With Score Less Than K\", d: \"Hard\", s: \"count-subarrays-with-score-less-than-k\" },\n { n: 2303, t: \"Calculate Amount Paid in Taxes\", d: \"Easy\", s: \"calculate-amount-paid-in-taxes\" },\n { n: 2304, t: \"Minimum Path Cost in a Grid\", d: \"Medium\", s: \"minimum-path-cost-in-a-grid\" },\n { n: 2305, t: \"Fair Distribution of Cookies\", d: \"Medium\", s: \"fair-distribution-of-cookies\" },\n { n: 2306, t: \"Naming a Company\", d: \"Hard\", s: \"naming-a-company\" },\n { n: 2307, t: \"Check for Contradictions in Equations\", d: \"Hard\", s: \"check-for-contradictions-in-equations\" },\n { n: 2308, t: \"Arrange Table by Gender\", d: \"Medium\", s: \"arrange-table-by-gender\" },\n { n: 2309, t: \"Greatest English Letter in Upper and Lower Case\", d: \"Easy\", s: \"greatest-english-letter-in-upper-and-lower-case\" },\n { n: 2310, t: \"Sum of Numbers With Units Digit K\", d: \"Medium\", s: \"sum-of-numbers-with-units-digit-k\" },\n { n: 2311, t: \"Longest Binary Subsequence Less Than or Equal to K\", d: \"Medium\", s: \"longest-binary-subsequence-less-than-or-equal-to-k\" },\n { n: 2312, t: \"Selling Pieces of Wood\", d: \"Hard\", s: \"selling-pieces-of-wood\" },\n { n: 2313, t: \"Minimum Flips in Binary Tree to Get Result\", d: \"Hard\", s: \"minimum-flips-in-binary-tree-to-get-result\" },\n { n: 2314, t: \"The First Day of the Maximum Recorded Degree in Each City\", d: \"Medium\", s: \"the-first-day-of-the-maximum-recorded-degree-in-each-city\" },\n { n: 2315, t: \"Count Asterisks\", d: \"Easy\", s: \"count-asterisks\" },\n { n: 2316, t: \"Count Unreachable Pairs of Nodes in an Undirected Graph\", d: \"Medium\", s: \"count-unreachable-pairs-of-nodes-in-an-undirected-graph\" },\n { n: 2317, t: \"Maximum XOR After Operations\", d: \"Medium\", s: \"maximum-xor-after-operations\" },\n { n: 2318, t: \"Number of Distinct Roll Sequences\", d: \"Hard\", s: \"number-of-distinct-roll-sequences\" },\n { n: 2319, t: \"Check if Matrix Is X-Matrix\", d: \"Easy\", s: \"check-if-matrix-is-x-matrix\" },\n { n: 2320, t: \"Count Number of Ways to Place Houses\", d: \"Medium\", s: \"count-number-of-ways-to-place-houses\" },\n { n: 2321, t: \"Maximum Score Of Spliced Array\", d: \"Hard\", s: \"maximum-score-of-spliced-array\" },\n { n: 2322, t: \"Minimum Score After Removals on a Tree\", d: \"Hard\", s: \"minimum-score-after-removals-on-a-tree\" },\n { n: 2323, t: \"Find Minimum Time to Finish All Jobs II\", d: \"Medium\", s: \"find-minimum-time-to-finish-all-jobs-ii\" },\n { n: 2324, t: \"Product Sales Analysis IV\", d: \"Medium\", s: \"product-sales-analysis-iv\" },\n { n: 2325, t: \"Decode the Message\", d: \"Easy\", s: \"decode-the-message\" },\n { n: 2326, t: \"Spiral Matrix IV\", d: \"Medium\", s: \"spiral-matrix-iv\" },\n { n: 2327, t: \"Number of People Aware of a Secret\", d: \"Medium\", s: \"number-of-people-aware-of-a-secret\" },\n { n: 2328, t: \"Number of Increasing Paths in a Grid\", d: \"Hard\", s: \"number-of-increasing-paths-in-a-grid\" },\n { n: 2329, t: \"Product Sales Analysis V\", d: \"Easy\", s: \"product-sales-analysis-v\" },\n { n: 2330, t: \"Valid Palindrome IV\", d: \"Medium\", s: \"valid-palindrome-iv\" },\n { n: 2331, t: \"Evaluate Boolean Binary Tree\", d: \"Easy\", s: \"evaluate-boolean-binary-tree\" },\n { n: 2332, t: \"The Latest Time to Catch a Bus\", d: \"Medium\", s: \"the-latest-time-to-catch-a-bus\" },\n { n: 2333, t: \"Minimum Sum of Squared Difference\", d: \"Medium\", s: \"minimum-sum-of-squared-difference\" },\n { n: 2334, t: \"Subarray With Elements Greater Than Varying Threshold\", d: \"Hard\", s: \"subarray-with-elements-greater-than-varying-threshold\" },\n { n: 2335, t: \"Minimum Amount of Time to Fill Cups\", d: \"Easy\", s: \"minimum-amount-of-time-to-fill-cups\" },\n { n: 2336, t: \"Smallest Number in Infinite Set\", d: \"Medium\", s: \"smallest-number-in-infinite-set\" },\n { n: 2337, t: \"Move Pieces to Obtain a String\", d: \"Medium\", s: \"move-pieces-to-obtain-a-string\" },\n { n: 2338, t: \"Count the Number of Ideal Arrays\", d: \"Hard\", s: \"count-the-number-of-ideal-arrays\" },\n { n: 2339, t: \"All the Matches of the League\", d: \"Easy\", s: \"all-the-matches-of-the-league\" },\n { n: 2340, t: \"Minimum Adjacent Swaps to Make a Valid Array\", d: \"Medium\", s: \"minimum-adjacent-swaps-to-make-a-valid-array\" },\n { n: 2341, t: \"Maximum Number of Pairs in Array\", d: \"Easy\", s: \"maximum-number-of-pairs-in-array\" },\n { n: 2342, t: \"Max Sum of a Pair With Equal Sum of Digits\", d: \"Medium\", s: \"max-sum-of-a-pair-with-equal-sum-of-digits\" },\n { n: 2343, t: \"Query Kth Smallest Trimmed Number\", d: \"Medium\", s: \"query-kth-smallest-trimmed-number\" },\n { n: 2344, t: \"Minimum Deletions to Make Array Divisible\", d: \"Hard\", s: \"minimum-deletions-to-make-array-divisible\" },\n { n: 2345, t: \"Finding the Number of Visible Mountains\", d: \"Medium\", s: \"finding-the-number-of-visible-mountains\" },\n { n: 2346, t: \"Compute the Rank as a Percentage\", d: \"Medium\", s: \"compute-the-rank-as-a-percentage\" },\n { n: 2347, t: \"Best Poker Hand\", d: \"Easy\", s: \"best-poker-hand\" },\n { n: 2348, t: \"Number of Zero-Filled Subarrays\", d: \"Medium\", s: \"number-of-zero-filled-subarrays\" },\n { n: 2349, t: \"Design a Number Container System\", d: \"Medium\", s: \"design-a-number-container-system\" },\n { n: 2350, t: \"Shortest Impossible Sequence of Rolls\", d: \"Hard\", s: \"shortest-impossible-sequence-of-rolls\" },\n { n: 2351, t: \"First Letter to Appear Twice\", d: \"Easy\", s: \"first-letter-to-appear-twice\" },\n { n: 2352, t: \"Equal Row and Column Pairs\", d: \"Medium\", s: \"equal-row-and-column-pairs\" },\n { n: 2353, t: \"Design a Food Rating System\", d: \"Medium\", s: \"design-a-food-rating-system\" },\n { n: 2354, t: \"Number of Excellent Pairs\", d: \"Hard\", s: \"number-of-excellent-pairs\" },\n { n: 2355, t: \"Maximum Number of Books You Can Take\", d: \"Hard\", s: \"maximum-number-of-books-you-can-take\" },\n { n: 2356, t: \"Number of Unique Subjects Taught by Each Teacher\", d: \"Easy\", s: \"number-of-unique-subjects-taught-by-each-teacher\" },\n { n: 2357, t: \"Make Array Zero by Subtracting Equal Amounts\", d: \"Easy\", s: \"make-array-zero-by-subtracting-equal-amounts\" },\n { n: 2358, t: \"Maximum Number of Groups Entering a Competition\", d: \"Medium\", s: \"maximum-number-of-groups-entering-a-competition\" },\n { n: 2359, t: \"Find Closest Node to Given Two Nodes\", d: \"Medium\", s: \"find-closest-node-to-given-two-nodes\" },\n { n: 2360, t: \"Longest Cycle in a Graph\", d: \"Hard\", s: \"longest-cycle-in-a-graph\" },\n { n: 2361, t: \"Minimum Costs Using the Train Line\", d: \"Hard\", s: \"minimum-costs-using-the-train-line\" },\n { n: 2362, t: \"Generate the Invoice\", d: \"Hard\", s: \"generate-the-invoice\" },\n { n: 2363, t: \"Merge Similar Items\", d: \"Easy\", s: \"merge-similar-items\" },\n { n: 2364, t: \"Count Number of Bad Pairs\", d: \"Medium\", s: \"count-number-of-bad-pairs\" },\n { n: 2365, t: \"Task Scheduler II\", d: \"Medium\", s: \"task-scheduler-ii\" },\n { n: 2366, t: \"Minimum Replacements to Sort the Array\", d: \"Hard\", s: \"minimum-replacements-to-sort-the-array\" },\n { n: 2367, t: \"Number of Arithmetic Triplets\", d: \"Easy\", s: \"number-of-arithmetic-triplets\" },\n { n: 2368, t: \"Reachable Nodes With Restrictions\", d: \"Medium\", s: \"reachable-nodes-with-restrictions\" },\n { n: 2369, t: \"Check if There is a Valid Partition For The Array\", d: \"Medium\", s: \"check-if-there-is-a-valid-partition-for-the-array\" },\n { n: 2370, t: \"Longest Ideal Subsequence\", d: \"Medium\", s: \"longest-ideal-subsequence\" },\n { n: 2371, t: \"Minimize Maximum Value in a Grid\", d: \"Hard\", s: \"minimize-maximum-value-in-a-grid\" },\n { n: 2372, t: \"Calculate the Influence of Each Salesperson\", d: \"Medium\", s: \"calculate-the-influence-of-each-salesperson\" },\n { n: 2373, t: \"Largest Local Values in a Matrix\", d: \"Easy\", s: \"largest-local-values-in-a-matrix\" },\n { n: 2374, t: \"Node With Highest Edge Score\", d: \"Medium\", s: \"node-with-highest-edge-score\" },\n { n: 2375, t: \"Construct Smallest Number From DI String\", d: \"Medium\", s: \"construct-smallest-number-from-di-string\" },\n { n: 2376, t: \"Count Special Integers\", d: \"Hard\", s: \"count-special-integers\" },\n { n: 2377, t: \"Sort the Olympic Table\", d: \"Easy\", s: \"sort-the-olympic-table\" },\n { n: 2378, t: \"Choose Edges to Maximize Score in a Tree\", d: \"Medium\", s: \"choose-edges-to-maximize-score-in-a-tree\" },\n { n: 2379, t: \"Minimum Recolors to Get K Consecutive Black Blocks\", d: \"Easy\", s: \"minimum-recolors-to-get-k-consecutive-black-blocks\" },\n { n: 2380, t: \"Time Needed to Rearrange a Binary String\", d: \"Medium\", s: \"time-needed-to-rearrange-a-binary-string\" },\n { n: 2381, t: \"Shifting Letters II\", d: \"Medium\", s: \"shifting-letters-ii\" },\n { n: 2382, t: \"Maximum Segment Sum After Removals\", d: \"Hard\", s: \"maximum-segment-sum-after-removals\" },\n { n: 2383, t: \"Minimum Hours of Training to Win a Competition\", d: \"Easy\", s: \"minimum-hours-of-training-to-win-a-competition\" },\n { n: 2384, t: \"Largest Palindromic Number\", d: \"Medium\", s: \"largest-palindromic-number\" },\n { n: 2385, t: \"Amount of Time for Binary Tree to Be Infected\", d: \"Medium\", s: \"amount-of-time-for-binary-tree-to-be-infected\" },\n { n: 2386, t: \"Find the K-Sum of an Array\", d: \"Hard\", s: \"find-the-k-sum-of-an-array\" },\n { n: 2387, t: \"Median of a Row Wise Sorted Matrix\", d: \"Medium\", s: \"median-of-a-row-wise-sorted-matrix\" },\n { n: 2388, t: \"Change Null Values in a Table to the Previous Value\", d: \"Medium\", s: \"change-null-values-in-a-table-to-the-previous-value\" },\n { n: 2389, t: \"Longest Subsequence With Limited Sum\", d: \"Easy\", s: \"longest-subsequence-with-limited-sum\" },\n { n: 2390, t: \"Removing Stars From a String\", d: \"Medium\", s: \"removing-stars-from-a-string\" },\n { n: 2391, t: \"Minimum Amount of Time to Collect Garbage\", d: \"Medium\", s: \"minimum-amount-of-time-to-collect-garbage\" },\n { n: 2392, t: \"Build a Matrix With Conditions\", d: \"Hard\", s: \"build-a-matrix-with-conditions\" },\n { n: 2393, t: \"Count Strictly Increasing Subarrays\", d: \"Medium\", s: \"count-strictly-increasing-subarrays\" },\n { n: 2394, t: \"Employees With Deductions\", d: \"Medium\", s: \"employees-with-deductions\" },\n { n: 2395, t: \"Find Subarrays With Equal Sum\", d: \"Easy\", s: \"find-subarrays-with-equal-sum\" },\n { n: 2396, t: \"Strictly Palindromic Number\", d: \"Medium\", s: \"strictly-palindromic-number\" },\n { n: 2397, t: \"Maximum Rows Covered by Columns\", d: \"Medium\", s: \"maximum-rows-covered-by-columns\" },\n { n: 2398, t: \"Maximum Number of Robots Within Budget\", d: \"Hard\", s: \"maximum-number-of-robots-within-budget\" },\n { n: 2399, t: \"Check Distances Between Same Letters\", d: \"Easy\", s: \"check-distances-between-same-letters\" },\n { n: 2400, t: \"Number of Ways to Reach a Position After Exactly k Steps\", d: \"Medium\", s: \"number-of-ways-to-reach-a-position-after-exactly-k-steps\" },\n { n: 2401, t: \"Longest Nice Subarray\", d: \"Medium\", s: \"longest-nice-subarray\" },\n { n: 2402, t: \"Meeting Rooms III\", d: \"Hard\", s: \"meeting-rooms-iii\" },\n { n: 2403, t: \"Minimum Time to Kill All Monsters\", d: \"Hard\", s: \"minimum-time-to-kill-all-monsters\" },\n { n: 2404, t: \"Most Frequent Even Element\", d: \"Easy\", s: \"most-frequent-even-element\" },\n { n: 2405, t: \"Optimal Partition of String\", d: \"Medium\", s: \"optimal-partition-of-string\" },\n { n: 2406, t: \"Divide Intervals Into Minimum Number of Groups\", d: \"Medium\", s: \"divide-intervals-into-minimum-number-of-groups\" },\n { n: 2407, t: \"Longest Increasing Subsequence II\", d: \"Hard\", s: \"longest-increasing-subsequence-ii\" },\n { n: 2408, t: \"Design SQL\", d: \"Medium\", s: \"design-sql\" },\n { n: 2409, t: \"Count Days Spent Together\", d: \"Easy\", s: \"count-days-spent-together\" },\n { n: 2410, t: \"Maximum Matching of Players With Trainers\", d: \"Medium\", s: \"maximum-matching-of-players-with-trainers\" },\n { n: 2411, t: \"Smallest Subarrays With Maximum Bitwise OR\", d: \"Medium\", s: \"smallest-subarrays-with-maximum-bitwise-or\" },\n { n: 2412, t: \"Minimum Money Required Before Transactions\", d: \"Hard\", s: \"minimum-money-required-before-transactions\" },\n { n: 2413, t: \"Smallest Even Multiple\", d: \"Easy\", s: \"smallest-even-multiple\" },\n { n: 2414, t: \"Length of the Longest Alphabetical Continuous Substring\", d: \"Medium\", s: \"length-of-the-longest-alphabetical-continuous-substring\" },\n { n: 2415, t: \"Reverse Odd Levels of Binary Tree\", d: \"Medium\", s: \"reverse-odd-levels-of-binary-tree\" },\n { n: 2416, t: \"Sum of Prefix Scores of Strings\", d: \"Hard\", s: \"sum-of-prefix-scores-of-strings\" },\n { n: 2417, t: \"Closest Fair Integer\", d: \"Medium\", s: \"closest-fair-integer\" },\n { n: 2418, t: \"Sort the People\", d: \"Easy\", s: \"sort-the-people\" },\n { n: 2419, t: \"Longest Subarray With Maximum Bitwise AND\", d: \"Medium\", s: \"longest-subarray-with-maximum-bitwise-and\" },\n { n: 2420, t: \"Find All Good Indices\", d: \"Medium\", s: \"find-all-good-indices\" },\n { n: 2421, t: \"Number of Good Paths\", d: \"Hard\", s: \"number-of-good-paths\" },\n { n: 2422, t: \"Merge Operations to Turn Array Into a Palindrome\", d: \"Medium\", s: \"merge-operations-to-turn-array-into-a-palindrome\" },\n { n: 2423, t: \"Remove Letter To Equalize Frequency\", d: \"Easy\", s: \"remove-letter-to-equalize-frequency\" },\n { n: 2424, t: \"Longest Uploaded Prefix\", d: \"Medium\", s: \"longest-uploaded-prefix\" },\n { n: 2425, t: \"Bitwise XOR of All Pairings\", d: \"Medium\", s: \"bitwise-xor-of-all-pairings\" },\n { n: 2426, t: \"Number of Pairs Satisfying Inequality\", d: \"Hard\", s: \"number-of-pairs-satisfying-inequality\" },\n { n: 2427, t: \"Number of Common Factors\", d: \"Easy\", s: \"number-of-common-factors\" },\n { n: 2428, t: \"Maximum Sum of an Hourglass\", d: \"Medium\", s: \"maximum-sum-of-an-hourglass\" },\n { n: 2429, t: \"Minimize XOR\", d: \"Medium\", s: \"minimize-xor\" },\n { n: 2430, t: \"Maximum Deletions on a String\", d: \"Hard\", s: \"maximum-deletions-on-a-string\" },\n { n: 2431, t: \"Maximize Total Tastiness of Purchased Fruits\", d: \"Medium\", s: \"maximize-total-tastiness-of-purchased-fruits\" },\n { n: 2432, t: \"The Employee That Worked on the Longest Task\", d: \"Easy\", s: \"the-employee-that-worked-on-the-longest-task\" },\n { n: 2433, t: \"Find The Original Array of Prefix Xor\", d: \"Medium\", s: \"find-the-original-array-of-prefix-xor\" },\n { n: 2434, t: \"Using a Robot to Print the Lexicographically Smallest String\", d: \"Medium\", s: \"using-a-robot-to-print-the-lexicographically-smallest-string\" },\n { n: 2435, t: \"Paths in Matrix Whose Sum Is Divisible by K\", d: \"Hard\", s: \"paths-in-matrix-whose-sum-is-divisible-by-k\" },\n { n: 2436, t: \"Minimum Split Into Subarrays With GCD Greater Than One\", d: \"Medium\", s: \"minimum-split-into-subarrays-with-gcd-greater-than-one\" },\n { n: 2437, t: \"Number of Valid Clock Times\", d: \"Easy\", s: \"number-of-valid-clock-times\" },\n { n: 2438, t: \"Range Product Queries of Powers\", d: \"Medium\", s: \"range-product-queries-of-powers\" },\n { n: 2439, t: \"Minimize Maximum of Array\", d: \"Medium\", s: \"minimize-maximum-of-array\" },\n { n: 2440, t: \"Create Components With Same Value\", d: \"Hard\", s: \"create-components-with-same-value\" },\n { n: 2441, t: \"Largest Positive Integer That Exists With Its Negative\", d: \"Easy\", s: \"largest-positive-integer-that-exists-with-its-negative\" },\n { n: 2442, t: \"Count Number of Distinct Integers After Reverse Operations\", d: \"Medium\", s: \"count-number-of-distinct-integers-after-reverse-operations\" },\n { n: 2443, t: \"Sum of Number and Its Reverse\", d: \"Medium\", s: \"sum-of-number-and-its-reverse\" },\n { n: 2444, t: \"Count Subarrays With Fixed Bounds\", d: \"Hard\", s: \"count-subarrays-with-fixed-bounds\" },\n { n: 2445, t: \"Number of Nodes With Value One\", d: \"Medium\", s: \"number-of-nodes-with-value-one\" },\n { n: 2446, t: \"Determine if Two Events Have Conflict\", d: \"Easy\", s: \"determine-if-two-events-have-conflict\" },\n { n: 2447, t: \"Number of Subarrays With GCD Equal to K\", d: \"Medium\", s: \"number-of-subarrays-with-gcd-equal-to-k\" },\n { n: 2448, t: \"Minimum Cost to Make Array Equal\", d: \"Hard\", s: \"minimum-cost-to-make-array-equal\" },\n { n: 2449, t: \"Minimum Number of Operations to Make Arrays Similar\", d: \"Hard\", s: \"minimum-number-of-operations-to-make-arrays-similar\" },\n { n: 2450, t: \"Number of Distinct Binary Strings After Applying Operations\", d: \"Medium\", s: \"number-of-distinct-binary-strings-after-applying-operations\" },\n { n: 2451, t: \"Odd String Difference\", d: \"Easy\", s: \"odd-string-difference\" },\n { n: 2452, t: \"Words Within Two Edits of Dictionary\", d: \"Medium\", s: \"words-within-two-edits-of-dictionary\" },\n { n: 2453, t: \"Destroy Sequential Targets\", d: \"Medium\", s: \"destroy-sequential-targets\" },\n { n: 2454, t: \"Next Greater Element IV\", d: \"Hard\", s: \"next-greater-element-iv\" },\n { n: 2455, t: \"Average Value of Even Numbers That Are Divisible by Three\", d: \"Easy\", s: \"average-value-of-even-numbers-that-are-divisible-by-three\" },\n { n: 2456, t: \"Most Popular Video Creator\", d: \"Medium\", s: \"most-popular-video-creator\" },\n { n: 2457, t: \"Minimum Addition to Make Integer Beautiful\", d: \"Medium\", s: \"minimum-addition-to-make-integer-beautiful\" },\n { n: 2458, t: \"Height of Binary Tree After Subtree Removal Queries\", d: \"Hard\", s: \"height-of-binary-tree-after-subtree-removal-queries\" },\n { n: 2459, t: \"Sort Array by Moving Items to Empty Space\", d: \"Hard\", s: \"sort-array-by-moving-items-to-empty-space\" },\n { n: 2460, t: \"Apply Operations to an Array\", d: \"Easy\", s: \"apply-operations-to-an-array\" },\n { n: 2461, t: \"Maximum Sum of Distinct Subarrays With Length K\", d: \"Medium\", s: \"maximum-sum-of-distinct-subarrays-with-length-k\" },\n { n: 2462, t: \"Total Cost to Hire K Workers\", d: \"Medium\", s: \"total-cost-to-hire-k-workers\" },\n { n: 2463, t: \"Minimum Total Distance Traveled\", d: \"Hard\", s: \"minimum-total-distance-traveled\" },\n { n: 2464, t: \"Minimum Subarrays in a Valid Split\", d: \"Medium\", s: \"minimum-subarrays-in-a-valid-split\" },\n { n: 2465, t: \"Number of Distinct Averages\", d: \"Easy\", s: \"number-of-distinct-averages\" },\n { n: 2466, t: \"Count Ways To Build Good Strings\", d: \"Medium\", s: \"count-ways-to-build-good-strings\" },\n { n: 2467, t: \"Most Profitable Path in a Tree\", d: \"Medium\", s: \"most-profitable-path-in-a-tree\" },\n { n: 2468, t: \"Split Message Based on Limit\", d: \"Hard\", s: \"split-message-based-on-limit\" },\n { n: 2469, t: \"Convert the Temperature\", d: \"Easy\", s: \"convert-the-temperature\" },\n { n: 2470, t: \"Number of Subarrays With LCM Equal to K\", d: \"Medium\", s: \"number-of-subarrays-with-lcm-equal-to-k\" },\n { n: 2471, t: \"Minimum Number of Operations to Sort a Binary Tree by Level\", d: \"Medium\", s: \"minimum-number-of-operations-to-sort-a-binary-tree-by-level\" },\n { n: 2472, t: \"Maximum Number of Non-overlapping Palindrome Substrings\", d: \"Hard\", s: \"maximum-number-of-non-overlapping-palindrome-substrings\" },\n { n: 2473, t: \"Minimum Cost to Buy Apples\", d: \"Medium\", s: \"minimum-cost-to-buy-apples\" },\n { n: 2474, t: \"Customers With Strictly Increasing Purchases\", d: \"Hard\", s: \"customers-with-strictly-increasing-purchases\" },\n { n: 2475, t: \"Number of Unequal Triplets in Array\", d: \"Easy\", s: \"number-of-unequal-triplets-in-array\" },\n { n: 2476, t: \"Closest Nodes Queries in a Binary Search Tree\", d: \"Medium\", s: \"closest-nodes-queries-in-a-binary-search-tree\" },\n { n: 2477, t: \"Minimum Fuel Cost to Report to the Capital\", d: \"Medium\", s: \"minimum-fuel-cost-to-report-to-the-capital\" },\n { n: 2478, t: \"Number of Beautiful Partitions\", d: \"Hard\", s: \"number-of-beautiful-partitions\" },\n { n: 2479, t: \"Maximum XOR of Two Non-Overlapping Subtrees\", d: \"Hard\", s: \"maximum-xor-of-two-non-overlapping-subtrees\" },\n { n: 2480, t: \"Form a Chemical Bond\", d: \"Easy\", s: \"form-a-chemical-bond\" },\n { n: 2481, t: \"Minimum Cuts to Divide a Circle\", d: \"Easy\", s: \"minimum-cuts-to-divide-a-circle\" },\n { n: 2482, t: \"Difference Between Ones and Zeros in Row and Column\", d: \"Medium\", s: \"difference-between-ones-and-zeros-in-row-and-column\" },\n { n: 2483, t: \"Minimum Penalty for a Shop\", d: \"Medium\", s: \"minimum-penalty-for-a-shop\" },\n { n: 2484, t: \"Count Palindromic Subsequences\", d: \"Hard\", s: \"count-palindromic-subsequences\" },\n { n: 2485, t: \"Find the Pivot Integer\", d: \"Easy\", s: \"find-the-pivot-integer\" },\n { n: 2486, t: \"Append Characters to String to Make Subsequence\", d: \"Medium\", s: \"append-characters-to-string-to-make-subsequence\" },\n { n: 2487, t: \"Remove Nodes From Linked List\", d: \"Medium\", s: \"remove-nodes-from-linked-list\" },\n { n: 2488, t: \"Count Subarrays With Median K\", d: \"Hard\", s: \"count-subarrays-with-median-k\" },\n { n: 2489, t: \"Number of Substrings With Fixed Ratio\", d: \"Medium\", s: \"number-of-substrings-with-fixed-ratio\" },\n { n: 2490, t: \"Circular Sentence\", d: \"Easy\", s: \"circular-sentence\" },\n { n: 2491, t: \"Divide Players Into Teams of Equal Skill\", d: \"Medium\", s: \"divide-players-into-teams-of-equal-skill\" },\n { n: 2492, t: \"Minimum Score of a Path Between Two Cities\", d: \"Medium\", s: \"minimum-score-of-a-path-between-two-cities\" },\n { n: 2493, t: \"Divide Nodes Into the Maximum Number of Groups\", d: \"Hard\", s: \"divide-nodes-into-the-maximum-number-of-groups\" },\n { n: 2494, t: \"Merge Overlapping Events in the Same Hall\", d: \"Hard\", s: \"merge-overlapping-events-in-the-same-hall\" },\n { n: 2495, t: \"Number of Subarrays Having Even Product\", d: \"Medium\", s: \"number-of-subarrays-having-even-product\" },\n { n: 2496, t: \"Maximum Value of a String in an Array\", d: \"Easy\", s: \"maximum-value-of-a-string-in-an-array\" },\n { n: 2497, t: \"Maximum Star Sum of a Graph\", d: \"Medium\", s: \"maximum-star-sum-of-a-graph\" },\n { n: 2498, t: \"Frog Jump II\", d: \"Medium\", s: \"frog-jump-ii\" },\n { n: 2499, t: \"Minimum Total Cost to Make Arrays Unequal\", d: \"Hard\", s: \"minimum-total-cost-to-make-arrays-unequal\" },\n { n: 2500, t: \"Delete Greatest Value in Each Row\", d: \"Easy\", s: \"delete-greatest-value-in-each-row\" },\n { n: 2501, t: \"Longest Square Streak in an Array\", d: \"Medium\", s: \"longest-square-streak-in-an-array\" },\n { n: 2502, t: \"Design Memory Allocator\", d: \"Medium\", s: \"design-memory-allocator\" },\n { n: 2503, t: \"Maximum Number of Points From Grid Queries\", d: \"Hard\", s: \"maximum-number-of-points-from-grid-queries\" },\n { n: 2504, t: \"Concatenate the Name and the Profession\", d: \"Easy\", s: \"concatenate-the-name-and-the-profession\" },\n { n: 2505, t: \"Bitwise OR of All Subsequence Sums\", d: \"Medium\", s: \"bitwise-or-of-all-subsequence-sums\" },\n { n: 2506, t: \"Count Pairs Of Similar Strings\", d: \"Easy\", s: \"count-pairs-of-similar-strings\" },\n { n: 2507, t: \"Smallest Value After Replacing With Sum of Prime Factors\", d: \"Medium\", s: \"smallest-value-after-replacing-with-sum-of-prime-factors\" },\n { n: 2508, t: \"Add Edges to Make Degrees of All Nodes Even\", d: \"Hard\", s: \"add-edges-to-make-degrees-of-all-nodes-even\" },\n { n: 2509, t: \"Cycle Length Queries in a Tree\", d: \"Hard\", s: \"cycle-length-queries-in-a-tree\" },\n { n: 2510, t: \"Check if There is a Path With Equal Number of 0\\'s And 1\\'s\", d: \"Medium\", s: \"check-if-there-is-a-path-with-equal-number-of-0s-and-1s\" },\n { n: 2511, t: \"Maximum Enemy Forts That Can Be Captured\", d: \"Easy\", s: \"maximum-enemy-forts-that-can-be-captured\" },\n { n: 2512, t: \"Reward Top K Students\", d: \"Medium\", s: \"reward-top-k-students\" },\n { n: 2513, t: \"Minimize the Maximum of Two Arrays\", d: \"Medium\", s: \"minimize-the-maximum-of-two-arrays\" },\n { n: 2514, t: \"Count Anagrams\", d: \"Hard\", s: \"count-anagrams\" },\n { n: 2515, t: \"Shortest Distance to Target String in a Circular Array\", d: \"Easy\", s: \"shortest-distance-to-target-string-in-a-circular-array\" },\n { n: 2516, t: \"Take K of Each Character From Left and Right\", d: \"Medium\", s: \"take-k-of-each-character-from-left-and-right\" },\n { n: 2517, t: \"Maximum Tastiness of Candy Basket\", d: \"Medium\", s: \"maximum-tastiness-of-candy-basket\" },\n { n: 2518, t: \"Number of Great Partitions\", d: \"Hard\", s: \"number-of-great-partitions\" },\n { n: 2519, t: \"Count the Number of K-Big Indices\", d: \"Hard\", s: \"count-the-number-of-k-big-indices\" },\n { n: 2520, t: \"Count the Digits That Divide a Number\", d: \"Easy\", s: \"count-the-digits-that-divide-a-number\" },\n { n: 2521, t: \"Distinct Prime Factors of Product of Array\", d: \"Medium\", s: \"distinct-prime-factors-of-product-of-array\" },\n { n: 2522, t: \"Partition String Into Substrings With Values at Most K\", d: \"Medium\", s: \"partition-string-into-substrings-with-values-at-most-k\" },\n { n: 2523, t: \"Closest Prime Numbers in Range\", d: \"Medium\", s: \"closest-prime-numbers-in-range\" },\n { n: 2524, t: \"Maximum Frequency Score of a Subarray\", d: \"Hard\", s: \"maximum-frequency-score-of-a-subarray\" },\n { n: 2525, t: \"Categorize Box According to Criteria\", d: \"Easy\", s: \"categorize-box-according-to-criteria\" },\n { n: 2526, t: \"Find Consecutive Integers from a Data Stream\", d: \"Medium\", s: \"find-consecutive-integers-from-a-data-stream\" },\n { n: 2527, t: \"Find Xor-Beauty of Array\", d: \"Medium\", s: \"find-xor-beauty-of-array\" },\n { n: 2528, t: \"Maximize the Minimum Powered City\", d: \"Hard\", s: \"maximize-the-minimum-powered-city\" },\n { n: 2529, t: \"Maximum Count of Positive Integer and Negative Integer\", d: \"Easy\", s: \"maximum-count-of-positive-integer-and-negative-integer\" },\n { n: 2530, t: \"Maximal Score After Applying K Operations\", d: \"Medium\", s: \"maximal-score-after-applying-k-operations\" },\n { n: 2531, t: \"Make Number of Distinct Characters Equal\", d: \"Medium\", s: \"make-number-of-distinct-characters-equal\" },\n { n: 2532, t: \"Time to Cross a Bridge\", d: \"Hard\", s: \"time-to-cross-a-bridge\" },\n { n: 2533, t: \"Number of Good Binary Strings\", d: \"Medium\", s: \"number-of-good-binary-strings\" },\n { n: 2534, t: \"Time Taken to Cross the Door\", d: \"Hard\", s: \"time-taken-to-cross-the-door\" },\n { n: 2535, t: \"Difference Between Element Sum and Digit Sum of an Array\", d: \"Easy\", s: \"difference-between-element-sum-and-digit-sum-of-an-array\" },\n { n: 2536, t: \"Increment Submatrices by One\", d: \"Medium\", s: \"increment-submatrices-by-one\" },\n { n: 2537, t: \"Count the Number of Good Subarrays\", d: \"Medium\", s: \"count-the-number-of-good-subarrays\" },\n { n: 2538, t: \"Difference Between Maximum and Minimum Price Sum\", d: \"Hard\", s: \"difference-between-maximum-and-minimum-price-sum\" },\n { n: 2539, t: \"Count the Number of Good Subsequences\", d: \"Medium\", s: \"count-the-number-of-good-subsequences\" },\n { n: 2540, t: \"Minimum Common Value\", d: \"Easy\", s: \"minimum-common-value\" },\n { n: 2541, t: \"Minimum Operations to Make Array Equal II\", d: \"Medium\", s: \"minimum-operations-to-make-array-equal-ii\" },\n { n: 2542, t: \"Maximum Subsequence Score\", d: \"Medium\", s: \"maximum-subsequence-score\" },\n { n: 2543, t: \"Check if Point Is Reachable\", d: \"Hard\", s: \"check-if-point-is-reachable\" },\n { n: 2544, t: \"Alternating Digit Sum\", d: \"Easy\", s: \"alternating-digit-sum\" },\n { n: 2545, t: \"Sort the Students by Their Kth Score\", d: \"Medium\", s: \"sort-the-students-by-their-kth-score\" },\n { n: 2546, t: \"Apply Bitwise Operations to Make Strings Equal\", d: \"Medium\", s: \"apply-bitwise-operations-to-make-strings-equal\" },\n { n: 2547, t: \"Minimum Cost to Split an Array\", d: \"Hard\", s: \"minimum-cost-to-split-an-array\" },\n { n: 2548, t: \"Maximum Price to Fill a Bag\", d: \"Medium\", s: \"maximum-price-to-fill-a-bag\" },\n { n: 2549, t: \"Count Distinct Numbers on Board\", d: \"Easy\", s: \"count-distinct-numbers-on-board\" },\n { n: 2550, t: \"Count Collisions of Monkeys on a Polygon\", d: \"Medium\", s: \"count-collisions-of-monkeys-on-a-polygon\" },\n { n: 2551, t: \"Put Marbles in Bags\", d: \"Hard\", s: \"put-marbles-in-bags\" },\n { n: 2552, t: \"Count Increasing Quadruplets\", d: \"Hard\", s: \"count-increasing-quadruplets\" },\n { n: 2553, t: \"Separate the Digits in an Array\", d: \"Easy\", s: \"separate-the-digits-in-an-array\" },\n { n: 2554, t: \"Maximum Number of Integers to Choose From a Range I\", d: \"Medium\", s: \"maximum-number-of-integers-to-choose-from-a-range-i\" },\n { n: 2555, t: \"Maximize Win From Two Segments\", d: \"Medium\", s: \"maximize-win-from-two-segments\" },\n { n: 2556, t: \"Disconnect Path in a Binary Matrix by at Most One Flip\", d: \"Medium\", s: \"disconnect-path-in-a-binary-matrix-by-at-most-one-flip\" },\n { n: 2557, t: \"Maximum Number of Integers to Choose From a Range II\", d: \"Medium\", s: \"maximum-number-of-integers-to-choose-from-a-range-ii\" },\n { n: 2558, t: \"Take Gifts From the Richest Pile\", d: \"Easy\", s: \"take-gifts-from-the-richest-pile\" },\n { n: 2559, t: \"Count Vowel Strings in Ranges\", d: \"Medium\", s: \"count-vowel-strings-in-ranges\" },\n { n: 2560, t: \"House Robber IV\", d: \"Medium\", s: \"house-robber-iv\" },\n { n: 2561, t: \"Rearranging Fruits\", d: \"Hard\", s: \"rearranging-fruits\" },\n { n: 2562, t: \"Find the Array Concatenation Value\", d: \"Easy\", s: \"find-the-array-concatenation-value\" },\n { n: 2563, t: \"Count the Number of Fair Pairs\", d: \"Medium\", s: \"count-the-number-of-fair-pairs\" },\n { n: 2564, t: \"Substring XOR Queries\", d: \"Medium\", s: \"substring-xor-queries\" },\n { n: 2565, t: \"Subsequence With the Minimum Score\", d: \"Hard\", s: \"subsequence-with-the-minimum-score\" },\n { n: 2566, t: \"Maximum Difference by Remapping a Digit\", d: \"Easy\", s: \"maximum-difference-by-remapping-a-digit\" },\n { n: 2567, t: \"Minimum Score by Changing Two Elements\", d: \"Medium\", s: \"minimum-score-by-changing-two-elements\" },\n { n: 2568, t: \"Minimum Impossible OR\", d: \"Medium\", s: \"minimum-impossible-or\" },\n { n: 2569, t: \"Handling Sum Queries After Update\", d: \"Hard\", s: \"handling-sum-queries-after-update\" },\n { n: 2570, t: \"Merge Two 2D Arrays by Summing Values\", d: \"Easy\", s: \"merge-two-2d-arrays-by-summing-values\" },\n { n: 2571, t: \"Minimum Operations to Reduce an Integer to 0\", d: \"Medium\", s: \"minimum-operations-to-reduce-an-integer-to-0\" },\n { n: 2572, t: \"Count the Number of Square-Free Subsets\", d: \"Medium\", s: \"count-the-number-of-square-free-subsets\" },\n { n: 2573, t: \"Find the String with LCP\", d: \"Hard\", s: \"find-the-string-with-lcp\" },\n { n: 2574, t: \"Left and Right Sum Differences\", d: \"Easy\", s: \"left-and-right-sum-differences\" },\n { n: 2575, t: \"Find the Divisibility Array of a String\", d: \"Medium\", s: \"find-the-divisibility-array-of-a-string\" },\n { n: 2576, t: \"Find the Maximum Number of Marked Indices\", d: \"Medium\", s: \"find-the-maximum-number-of-marked-indices\" },\n { n: 2577, t: \"Minimum Time to Visit a Cell In a Grid\", d: \"Hard\", s: \"minimum-time-to-visit-a-cell-in-a-grid\" },\n { n: 2578, t: \"Split With Minimum Sum\", d: \"Easy\", s: \"split-with-minimum-sum\" },\n { n: 2579, t: \"Count Total Number of Colored Cells\", d: \"Medium\", s: \"count-total-number-of-colored-cells\" },\n { n: 2580, t: \"Count Ways to Group Overlapping Ranges\", d: \"Medium\", s: \"count-ways-to-group-overlapping-ranges\" },\n { n: 2581, t: \"Count Number of Possible Root Nodes\", d: \"Hard\", s: \"count-number-of-possible-root-nodes\" },\n { n: 2582, t: \"Pass the Pillow\", d: \"Easy\", s: \"pass-the-pillow\" },\n { n: 2583, t: \"Kth Largest Sum in a Binary Tree\", d: \"Medium\", s: \"kth-largest-sum-in-a-binary-tree\" },\n { n: 2584, t: \"Split the Array to Make Coprime Products\", d: \"Hard\", s: \"split-the-array-to-make-coprime-products\" },\n { n: 2585, t: \"Number of Ways to Earn Points\", d: \"Hard\", s: \"number-of-ways-to-earn-points\" },\n { n: 2586, t: \"Count the Number of Vowel Strings in Range\", d: \"Easy\", s: \"count-the-number-of-vowel-strings-in-range\" },\n { n: 2587, t: \"Rearrange Array to Maximize Prefix Score\", d: \"Medium\", s: \"rearrange-array-to-maximize-prefix-score\" },\n { n: 2588, t: \"Count the Number of Beautiful Subarrays\", d: \"Medium\", s: \"count-the-number-of-beautiful-subarrays\" },\n { n: 2589, t: \"Minimum Time to Complete All Tasks\", d: \"Hard\", s: \"minimum-time-to-complete-all-tasks\" },\n { n: 2590, t: \"Design a Todo List\", d: \"Medium\", s: \"design-a-todo-list\" },\n { n: 2591, t: \"Distribute Money to Maximum Children\", d: \"Easy\", s: \"distribute-money-to-maximum-children\" },\n { n: 2592, t: \"Maximize Greatness of an Array\", d: \"Medium\", s: \"maximize-greatness-of-an-array\" },\n { n: 2593, t: \"Find Score of an Array After Marking All Elements\", d: \"Medium\", s: \"find-score-of-an-array-after-marking-all-elements\" },\n { n: 2594, t: \"Minimum Time to Repair Cars\", d: \"Medium\", s: \"minimum-time-to-repair-cars\" },\n { n: 2595, t: \"Number of Even and Odd Bits\", d: \"Easy\", s: \"number-of-even-and-odd-bits\" },\n { n: 2596, t: \"Check Knight Tour Configuration\", d: \"Medium\", s: \"check-knight-tour-configuration\" },\n { n: 2597, t: \"The Number of Beautiful Subsets\", d: \"Medium\", s: \"the-number-of-beautiful-subsets\" },\n { n: 2598, t: \"Smallest Missing Non-negative Integer After Operations\", d: \"Medium\", s: \"smallest-missing-non-negative-integer-after-operations\" },\n { n: 2599, t: \"Make the Prefix Sum Non-negative\", d: \"Medium\", s: \"make-the-prefix-sum-non-negative\" },\n { n: 2600, t: \"K Items With the Maximum Sum\", d: \"Easy\", s: \"k-items-with-the-maximum-sum\" },\n { n: 2601, t: \"Prime Subtraction Operation\", d: \"Medium\", s: \"prime-subtraction-operation\" },\n { n: 2602, t: \"Minimum Operations to Make All Array Elements Equal\", d: \"Medium\", s: \"minimum-operations-to-make-all-array-elements-equal\" },\n { n: 2603, t: \"Collect Coins in a Tree\", d: \"Hard\", s: \"collect-coins-in-a-tree\" },\n { n: 2604, t: \"Minimum Time to Eat All Grains\", d: \"Hard\", s: \"minimum-time-to-eat-all-grains\" },\n { n: 2605, t: \"Form Smallest Number From Two Digit Arrays\", d: \"Easy\", s: \"form-smallest-number-from-two-digit-arrays\" },\n { n: 2606, t: \"Find the Substring With Maximum Cost\", d: \"Medium\", s: \"find-the-substring-with-maximum-cost\" },\n { n: 2607, t: \"Make K-Subarray Sums Equal\", d: \"Medium\", s: \"make-k-subarray-sums-equal\" },\n { n: 2608, t: \"Shortest Cycle in a Graph\", d: \"Hard\", s: \"shortest-cycle-in-a-graph\" },\n { n: 2609, t: \"Find the Longest Balanced Substring of a Binary String\", d: \"Easy\", s: \"find-the-longest-balanced-substring-of-a-binary-string\" },\n { n: 2610, t: \"Convert an Array Into a 2D Array With Conditions\", d: \"Medium\", s: \"convert-an-array-into-a-2d-array-with-conditions\" },\n { n: 2611, t: \"Mice and Cheese\", d: \"Medium\", s: \"mice-and-cheese\" },\n { n: 2612, t: \"Minimum Reverse Operations\", d: \"Hard\", s: \"minimum-reverse-operations\" },\n { n: 2613, t: \"Beautiful Pairs\", d: \"Hard\", s: \"beautiful-pairs\" },\n { n: 2614, t: \"Prime In Diagonal\", d: \"Easy\", s: \"prime-in-diagonal\" },\n { n: 2615, t: \"Sum of Distances\", d: \"Medium\", s: \"sum-of-distances\" },\n { n: 2616, t: \"Minimize the Maximum Difference of Pairs\", d: \"Medium\", s: \"minimize-the-maximum-difference-of-pairs\" },\n { n: 2617, t: \"Minimum Number of Visited Cells in a Grid\", d: \"Hard\", s: \"minimum-number-of-visited-cells-in-a-grid\" },\n { n: 2618, t: \"Check if Object Instance of Class\", d: \"Medium\", s: \"check-if-object-instance-of-class\" },\n { n: 2619, t: \"Array Prototype Last\", d: \"Easy\", s: \"array-prototype-last\" },\n { n: 2620, t: \"Counter\", d: \"Easy\", s: \"counter\" },\n { n: 2621, t: \"Sleep\", d: \"Easy\", s: \"sleep\" },\n { n: 2622, t: \"Cache With Time Limit\", d: \"Medium\", s: \"cache-with-time-limit\" },\n { n: 2623, t: \"Memoize\", d: \"Medium\", s: \"memoize\" },\n { n: 2624, t: \"Snail Traversal\", d: \"Medium\", s: \"snail-traversal\" },\n { n: 2625, t: \"Flatten Deeply Nested Array\", d: \"Medium\", s: \"flatten-deeply-nested-array\" },\n { n: 2626, t: \"Array Reduce Transformation\", d: \"Easy\", s: \"array-reduce-transformation\" },\n { n: 2627, t: \"Debounce\", d: \"Medium\", s: \"debounce\" },\n { n: 2628, t: \"JSON Deep Equal\", d: \"Medium\", s: \"json-deep-equal\" },\n { n: 2629, t: \"Function Composition\", d: \"Easy\", s: \"function-composition\" },\n { n: 2630, t: \"Memoize II\", d: \"Hard\", s: \"memoize-ii\" },\n { n: 2631, t: \"Group By\", d: \"Medium\", s: \"group-by\" },\n { n: 2632, t: \"Curry\", d: \"Medium\", s: \"curry\" },\n { n: 2633, t: \"Convert Object to JSON String\", d: \"Medium\", s: \"convert-object-to-json-string\" },\n { n: 2634, t: \"Filter Elements from Array\", d: \"Easy\", s: \"filter-elements-from-array\" },\n { n: 2635, t: \"Apply Transform Over Each Element in Array\", d: \"Easy\", s: \"apply-transform-over-each-element-in-array\" },\n { n: 2636, t: \"Promise Pool\", d: \"Medium\", s: \"promise-pool\" },\n { n: 2637, t: \"Promise Time Limit\", d: \"Medium\", s: \"promise-time-limit\" },\n { n: 2638, t: \"Count the Number of K-Free Subsets\", d: \"Medium\", s: \"count-the-number-of-k-free-subsets\" },\n { n: 2639, t: \"Find the Width of Columns of a Grid\", d: \"Easy\", s: \"find-the-width-of-columns-of-a-grid\" },\n { n: 2640, t: \"Find the Score of All Prefixes of an Array\", d: \"Medium\", s: \"find-the-score-of-all-prefixes-of-an-array\" },\n { n: 2641, t: \"Cousins in Binary Tree II\", d: \"Medium\", s: \"cousins-in-binary-tree-ii\" },\n { n: 2642, t: \"Design Graph With Shortest Path Calculator\", d: \"Hard\", s: \"design-graph-with-shortest-path-calculator\" },\n { n: 2643, t: \"Row With Maximum Ones\", d: \"Easy\", s: \"row-with-maximum-ones\" },\n { n: 2644, t: \"Find the Maximum Divisibility Score\", d: \"Easy\", s: \"find-the-maximum-divisibility-score\" },\n { n: 2645, t: \"Minimum Additions to Make Valid String\", d: \"Medium\", s: \"minimum-additions-to-make-valid-string\" },\n { n: 2646, t: \"Minimize the Total Price of the Trips\", d: \"Hard\", s: \"minimize-the-total-price-of-the-trips\" },\n { n: 2647, t: \"Color the Triangle Red\", d: \"Hard\", s: \"color-the-triangle-red\" },\n { n: 2648, t: \"Generate Fibonacci Sequence\", d: \"Easy\", s: \"generate-fibonacci-sequence\" },\n { n: 2649, t: \"Nested Array Generator\", d: \"Medium\", s: \"nested-array-generator\" },\n { n: 2650, t: \"Design Cancellable Function\", d: \"Hard\", s: \"design-cancellable-function\" },\n { n: 2651, t: \"Calculate Delayed Arrival Time\", d: \"Easy\", s: \"calculate-delayed-arrival-time\" },\n { n: 2652, t: \"Sum Multiples\", d: \"Easy\", s: \"sum-multiples\" },\n { n: 2653, t: \"Sliding Subarray Beauty\", d: \"Medium\", s: \"sliding-subarray-beauty\" },\n { n: 2654, t: \"Minimum Number of Operations to Make All Array Elements Equal to 1\", d: \"Medium\", s: \"minimum-number-of-operations-to-make-all-array-elements-equal-to-1\" },\n { n: 2655, t: \"Find Maximal Uncovered Ranges\", d: \"Medium\", s: \"find-maximal-uncovered-ranges\" },\n { n: 2656, t: \"Maximum Sum With Exactly K Elements\", d: \"Easy\", s: \"maximum-sum-with-exactly-k-elements\" },\n { n: 2657, t: \"Find the Prefix Common Array of Two Arrays\", d: \"Medium\", s: \"find-the-prefix-common-array-of-two-arrays\" },\n { n: 2658, t: \"Maximum Number of Fish in a Grid\", d: \"Medium\", s: \"maximum-number-of-fish-in-a-grid\" },\n { n: 2659, t: \"Make Array Empty\", d: \"Hard\", s: \"make-array-empty\" },\n { n: 2660, t: \"Determine the Winner of a Bowling Game\", d: \"Easy\", s: \"determine-the-winner-of-a-bowling-game\" },\n { n: 2661, t: \"First Completely Painted Row or Column\", d: \"Medium\", s: \"first-completely-painted-row-or-column\" },\n { n: 2662, t: \"Minimum Cost of a Path With Special Roads\", d: \"Medium\", s: \"minimum-cost-of-a-path-with-special-roads\" },\n { n: 2663, t: \"Lexicographically Smallest Beautiful String\", d: \"Hard\", s: \"lexicographically-smallest-beautiful-string\" },\n { n: 2664, t: \"The Knight’s Tour\", d: \"Medium\", s: \"the-knights-tour\" },\n { n: 2665, t: \"Counter II\", d: \"Easy\", s: \"counter-ii\" },\n { n: 2666, t: \"Allow One Function Call\", d: \"Easy\", s: \"allow-one-function-call\" },\n { n: 2667, t: \"Create Hello World Function\", d: \"Easy\", s: \"create-hello-world-function\" },\n { n: 2668, t: \"Find Latest Salaries\", d: \"Easy\", s: \"find-latest-salaries\" },\n { n: 2669, t: \"Count Artist Occurrences On Spotify Ranking List\", d: \"Easy\", s: \"count-artist-occurrences-on-spotify-ranking-list\" },\n { n: 2670, t: \"Find the Distinct Difference Array\", d: \"Easy\", s: \"find-the-distinct-difference-array\" },\n { n: 2671, t: \"Frequency Tracker\", d: \"Medium\", s: \"frequency-tracker\" },\n { n: 2672, t: \"Number of Adjacent Elements With the Same Color\", d: \"Medium\", s: \"number-of-adjacent-elements-with-the-same-color\" },\n { n: 2673, t: \"Make Costs of Paths Equal in a Binary Tree\", d: \"Medium\", s: \"make-costs-of-paths-equal-in-a-binary-tree\" },\n { n: 2674, t: \"Split a Circular Linked List\", d: \"Medium\", s: \"split-a-circular-linked-list\" },\n { n: 2675, t: \"Array of Objects to Matrix\", d: \"Hard\", s: \"array-of-objects-to-matrix\" },\n { n: 2676, t: \"Throttle\", d: \"Medium\", s: \"throttle\" },\n { n: 2677, t: \"Chunk Array\", d: \"Easy\", s: \"chunk-array\" },\n { n: 2678, t: \"Number of Senior Citizens\", d: \"Easy\", s: \"number-of-senior-citizens\" },\n { n: 2679, t: \"Sum in a Matrix\", d: \"Medium\", s: \"sum-in-a-matrix\" },\n { n: 2680, t: \"Maximum OR\", d: \"Medium\", s: \"maximum-or\" },\n { n: 2681, t: \"Power of Heroes\", d: \"Hard\", s: \"power-of-heroes\" },\n { n: 2682, t: \"Find the Losers of the Circular Game\", d: \"Easy\", s: \"find-the-losers-of-the-circular-game\" },\n { n: 2683, t: \"Neighboring Bitwise XOR\", d: \"Medium\", s: \"neighboring-bitwise-xor\" },\n { n: 2684, t: \"Maximum Number of Moves in a Grid\", d: \"Medium\", s: \"maximum-number-of-moves-in-a-grid\" },\n { n: 2685, t: \"Count the Number of Complete Components\", d: \"Medium\", s: \"count-the-number-of-complete-components\" },\n { n: 2686, t: \"Immediate Food Delivery III\", d: \"Medium\", s: \"immediate-food-delivery-iii\" },\n { n: 2687, t: \"Bikes Last Time Used\", d: \"Easy\", s: \"bikes-last-time-used\" },\n { n: 2688, t: \"Find Active Users\", d: \"Medium\", s: \"find-active-users\" },\n { n: 2689, t: \"Extract Kth Character From The Rope Tree\", d: \"Easy\", s: \"extract-kth-character-from-the-rope-tree\" },\n { n: 2690, t: \"Infinite Method Object\", d: \"Easy\", s: \"infinite-method-object\" },\n { n: 2691, t: \"Immutability Helper\", d: \"Hard\", s: \"immutability-helper\" },\n { n: 2692, t: \"Make Object Immutable\", d: \"Medium\", s: \"make-object-immutable\" },\n { n: 2693, t: \"Call Function with Custom Context\", d: \"Medium\", s: \"call-function-with-custom-context\" },\n { n: 2694, t: \"Event Emitter\", d: \"Medium\", s: \"event-emitter\" },\n { n: 2695, t: \"Array Wrapper\", d: \"Easy\", s: \"array-wrapper\" },\n { n: 2696, t: \"Minimum String Length After Removing Substrings\", d: \"Easy\", s: \"minimum-string-length-after-removing-substrings\" },\n { n: 2697, t: \"Lexicographically Smallest Palindrome\", d: \"Easy\", s: \"lexicographically-smallest-palindrome\" },\n { n: 2698, t: \"Find the Punishment Number of an Integer\", d: \"Medium\", s: \"find-the-punishment-number-of-an-integer\" },\n { n: 2699, t: \"Modify Graph Edge Weights\", d: \"Hard\", s: \"modify-graph-edge-weights\" },\n { n: 2700, t: \"Differences Between Two Objects\", d: \"Medium\", s: \"differences-between-two-objects\" },\n { n: 2701, t: \"Consecutive Transactions with Increasing Amounts\", d: \"Hard\", s: \"consecutive-transactions-with-increasing-amounts\" },\n { n: 2702, t: \"Minimum Operations to Make Numbers Non-positive\", d: \"Hard\", s: \"minimum-operations-to-make-numbers-non-positive\" },\n { n: 2703, t: \"Return Length of Arguments Passed\", d: \"Easy\", s: \"return-length-of-arguments-passed\" },\n { n: 2704, t: \"To Be Or Not To Be\", d: \"Easy\", s: \"to-be-or-not-to-be\" },\n { n: 2705, t: \"Compact Object\", d: \"Medium\", s: \"compact-object\" },\n { n: 2706, t: \"Buy Two Chocolates\", d: \"Easy\", s: \"buy-two-chocolates\" },\n { n: 2707, t: \"Extra Characters in a String\", d: \"Medium\", s: \"extra-characters-in-a-string\" },\n { n: 2708, t: \"Maximum Strength of a Group\", d: \"Medium\", s: \"maximum-strength-of-a-group\" },\n { n: 2709, t: \"Greatest Common Divisor Traversal\", d: \"Hard\", s: \"greatest-common-divisor-traversal\" },\n { n: 2710, t: \"Remove Trailing Zeros From a String\", d: \"Easy\", s: \"remove-trailing-zeros-from-a-string\" },\n { n: 2711, t: \"Difference of Number of Distinct Values on Diagonals\", d: \"Medium\", s: \"difference-of-number-of-distinct-values-on-diagonals\" },\n { n: 2712, t: \"Minimum Cost to Make All Characters Equal\", d: \"Medium\", s: \"minimum-cost-to-make-all-characters-equal\" },\n { n: 2713, t: \"Maximum Strictly Increasing Cells in a Matrix\", d: \"Hard\", s: \"maximum-strictly-increasing-cells-in-a-matrix\" },\n { n: 2714, t: \"Find Shortest Path with K Hops\", d: \"Hard\", s: \"find-shortest-path-with-k-hops\" },\n { n: 2715, t: \"Timeout Cancellation\", d: \"Easy\", s: \"timeout-cancellation\" },\n { n: 2716, t: \"Minimize String Length\", d: \"Easy\", s: \"minimize-string-length\" },\n { n: 2717, t: \"Semi-Ordered Permutation\", d: \"Easy\", s: \"semi-ordered-permutation\" },\n { n: 2718, t: \"Sum of Matrix After Queries\", d: \"Medium\", s: \"sum-of-matrix-after-queries\" },\n { n: 2719, t: \"Count of Integers\", d: \"Hard\", s: \"count-of-integers\" },\n { n: 2720, t: \"Popularity Percentage\", d: \"Hard\", s: \"popularity-percentage\" },\n { n: 2721, t: \"Execute Asynchronous Functions in Parallel\", d: \"Medium\", s: \"execute-asynchronous-functions-in-parallel\" },\n { n: 2722, t: \"Join Two Arrays by ID\", d: \"Medium\", s: \"join-two-arrays-by-id\" },\n { n: 2723, t: \"Add Two Promises\", d: \"Easy\", s: \"add-two-promises\" },\n { n: 2724, t: \"Sort By\", d: \"Easy\", s: \"sort-by\" },\n { n: 2725, t: \"Interval Cancellation\", d: \"Easy\", s: \"interval-cancellation\" },\n { n: 2726, t: \"Calculator with Method Chaining\", d: \"Easy\", s: \"calculator-with-method-chaining\" },\n { n: 2727, t: \"Is Object Empty\", d: \"Easy\", s: \"is-object-empty\" },\n { n: 2728, t: \"Count Houses in a Circular Street\", d: \"Easy\", s: \"count-houses-in-a-circular-street\" },\n { n: 2729, t: \"Check if The Number is Fascinating\", d: \"Easy\", s: \"check-if-the-number-is-fascinating\" },\n { n: 2730, t: \"Find the Longest Semi-Repetitive Substring\", d: \"Medium\", s: \"find-the-longest-semi-repetitive-substring\" },\n { n: 2731, t: \"Movement of Robots\", d: \"Medium\", s: \"movement-of-robots\" },\n { n: 2732, t: \"Find a Good Subset of the Matrix\", d: \"Hard\", s: \"find-a-good-subset-of-the-matrix\" },\n { n: 2733, t: \"Neither Minimum nor Maximum\", d: \"Easy\", s: \"neither-minimum-nor-maximum\" },\n { n: 2734, t: \"Lexicographically Smallest String After Substring Operation\", d: \"Medium\", s: \"lexicographically-smallest-string-after-substring-operation\" },\n { n: 2735, t: \"Collecting Chocolates\", d: \"Medium\", s: \"collecting-chocolates\" },\n { n: 2736, t: \"Maximum Sum Queries\", d: \"Hard\", s: \"maximum-sum-queries\" },\n { n: 2737, t: \"Find the Closest Marked Node\", d: \"Medium\", s: \"find-the-closest-marked-node\" },\n { n: 2738, t: \"Count Occurrences in Text\", d: \"Medium\", s: \"count-occurrences-in-text\" },\n { n: 2739, t: \"Total Distance Traveled\", d: \"Easy\", s: \"total-distance-traveled\" },\n { n: 2740, t: \"Find the Value of the Partition\", d: \"Medium\", s: \"find-the-value-of-the-partition\" },\n { n: 2741, t: \"Special Permutations\", d: \"Medium\", s: \"special-permutations\" },\n { n: 2742, t: \"Painting the Walls\", d: \"Hard\", s: \"painting-the-walls\" },\n { n: 2743, t: \"Count Substrings Without Repeating Character\", d: \"Medium\", s: \"count-substrings-without-repeating-character\" },\n { n: 2744, t: \"Find Maximum Number of String Pairs\", d: \"Easy\", s: \"find-maximum-number-of-string-pairs\" },\n { n: 2745, t: \"Construct the Longest New String\", d: \"Medium\", s: \"construct-the-longest-new-string\" },\n { n: 2746, t: \"Decremental String Concatenation\", d: \"Medium\", s: \"decremental-string-concatenation\" },\n { n: 2747, t: \"Count Zero Request Servers\", d: \"Medium\", s: \"count-zero-request-servers\" },\n { n: 2748, t: \"Number of Beautiful Pairs\", d: \"Easy\", s: \"number-of-beautiful-pairs\" },\n { n: 2749, t: \"Minimum Operations to Make the Integer Zero\", d: \"Medium\", s: \"minimum-operations-to-make-the-integer-zero\" },\n { n: 2750, t: \"Ways to Split Array Into Good Subarrays\", d: \"Medium\", s: \"ways-to-split-array-into-good-subarrays\" },\n { n: 2751, t: \"Robot Collisions\", d: \"Hard\", s: \"robot-collisions\" },\n { n: 2752, t: \"Customers with Maximum Number of Transactions on Consecutive Days\", d: \"Hard\", s: \"customers-with-maximum-number-of-transactions-on-consecutive-days\" },\n { n: 2753, t: \"Count Houses in a Circular Street II\", d: \"Hard\", s: \"count-houses-in-a-circular-street-ii\" },\n { n: 2754, t: \"Bind Function to Context\", d: \"Medium\", s: \"bind-function-to-context\" },\n { n: 2755, t: \"Deep Merge of Two Objects\", d: \"Medium\", s: \"deep-merge-of-two-objects\" },\n { n: 2756, t: \"Query Batching\", d: \"Hard\", s: \"query-batching\" },\n { n: 2757, t: \"Generate Circular Array Values\", d: \"Medium\", s: \"generate-circular-array-values\" },\n { n: 2758, t: \"Next Day\", d: \"Easy\", s: \"next-day\" },\n { n: 2759, t: \"Convert JSON String to Object\", d: \"Hard\", s: \"convert-json-string-to-object\" },\n { n: 2760, t: \"Longest Even Odd Subarray With Threshold\", d: \"Easy\", s: \"longest-even-odd-subarray-with-threshold\" },\n { n: 2761, t: \"Prime Pairs With Target Sum\", d: \"Medium\", s: \"prime-pairs-with-target-sum\" },\n { n: 2762, t: \"Continuous Subarrays\", d: \"Medium\", s: \"continuous-subarrays\" },\n { n: 2763, t: \"Sum of Imbalance Numbers of All Subarrays\", d: \"Hard\", s: \"sum-of-imbalance-numbers-of-all-subarrays\" },\n { n: 2764, t: \"Is Array a Preorder of Some ‌Binary Tree\", d: \"Medium\", s: \"is-array-a-preorder-of-some-binary-tree\" },\n { n: 2765, t: \"Longest Alternating Subarray\", d: \"Easy\", s: \"longest-alternating-subarray\" },\n { n: 2766, t: \"Relocate Marbles\", d: \"Medium\", s: \"relocate-marbles\" },\n { n: 2767, t: \"Partition String Into Minimum Beautiful Substrings\", d: \"Medium\", s: \"partition-string-into-minimum-beautiful-substrings\" },\n { n: 2768, t: \"Number of Black Blocks\", d: \"Medium\", s: \"number-of-black-blocks\" },\n { n: 2769, t: \"Find the Maximum Achievable Number\", d: \"Easy\", s: \"find-the-maximum-achievable-number\" },\n { n: 2770, t: \"Maximum Number of Jumps to Reach the Last Index\", d: \"Medium\", s: \"maximum-number-of-jumps-to-reach-the-last-index\" },\n { n: 2771, t: \"Longest Non-decreasing Subarray From Two Arrays\", d: \"Medium\", s: \"longest-non-decreasing-subarray-from-two-arrays\" },\n { n: 2772, t: \"Apply Operations to Make All Array Elements Equal to Zero\", d: \"Medium\", s: \"apply-operations-to-make-all-array-elements-equal-to-zero\" },\n { n: 2773, t: \"Height of Special Binary Tree\", d: \"Medium\", s: \"height-of-special-binary-tree\" },\n { n: 2774, t: \"Array Upper Bound\", d: \"Easy\", s: \"array-upper-bound\" },\n { n: 2775, t: \"Undefined to Null\", d: \"Medium\", s: \"undefined-to-null\" },\n { n: 2776, t: \"Convert Callback Based Function to Promise Based Function\", d: \"Medium\", s: \"convert-callback-based-function-to-promise-based-function\" },\n { n: 2777, t: \"Date Range Generator\", d: \"Medium\", s: \"date-range-generator\" },\n { n: 2778, t: \"Sum of Squares of Special Elements\", d: \"Easy\", s: \"sum-of-squares-of-special-elements\" },\n { n: 2779, t: \"Maximum Beauty of an Array After Applying Operation\", d: \"Medium\", s: \"maximum-beauty-of-an-array-after-applying-operation\" },\n { n: 2780, t: \"Minimum Index of a Valid Split\", d: \"Medium\", s: \"minimum-index-of-a-valid-split\" },\n { n: 2781, t: \"Length of the Longest Valid Substring\", d: \"Hard\", s: \"length-of-the-longest-valid-substring\" },\n { n: 2782, t: \"Number of Unique Categories\", d: \"Medium\", s: \"number-of-unique-categories\" },\n { n: 2783, t: \"Flight Occupancy and Waitlist Analysis\", d: \"Medium\", s: \"flight-occupancy-and-waitlist-analysis\" },\n { n: 2784, t: \"Check if Array is Good\", d: \"Easy\", s: \"check-if-array-is-good\" },\n { n: 2785, t: \"Sort Vowels in a String\", d: \"Medium\", s: \"sort-vowels-in-a-string\" },\n { n: 2786, t: \"Visit Array Positions to Maximize Score\", d: \"Medium\", s: \"visit-array-positions-to-maximize-score\" },\n { n: 2787, t: \"Ways to Express an Integer as Sum of Powers\", d: \"Medium\", s: \"ways-to-express-an-integer-as-sum-of-powers\" },\n { n: 2788, t: \"Split Strings by Separator\", d: \"Easy\", s: \"split-strings-by-separator\" },\n { n: 2789, t: \"Largest Element in an Array after Merge Operations\", d: \"Medium\", s: \"largest-element-in-an-array-after-merge-operations\" },\n { n: 2790, t: \"Maximum Number of Groups With Increasing Length\", d: \"Hard\", s: \"maximum-number-of-groups-with-increasing-length\" },\n { n: 2791, t: \"Count Paths That Can Form a Palindrome in a Tree\", d: \"Hard\", s: \"count-paths-that-can-form-a-palindrome-in-a-tree\" },\n { n: 2792, t: \"Count Nodes That Are Great Enough\", d: \"Hard\", s: \"count-nodes-that-are-great-enough\" },\n { n: 2793, t: \"Status of Flight Tickets\", d: \"Hard\", s: \"status-of-flight-tickets\" },\n { n: 2794, t: \"Create Object from Two Arrays\", d: \"Easy\", s: \"create-object-from-two-arrays\" },\n { n: 2795, t: \"Parallel Execution of Promises for Individual Results Retrieval\", d: \"Medium\", s: \"parallel-execution-of-promises-for-individual-results-retrieval\" },\n { n: 2796, t: \"Repeat String\", d: \"Easy\", s: \"repeat-string\" },\n { n: 2797, t: \"Partial Function with Placeholders\", d: \"Easy\", s: \"partial-function-with-placeholders\" },\n { n: 2798, t: \"Number of Employees Who Met the Target\", d: \"Easy\", s: \"number-of-employees-who-met-the-target\" },\n { n: 2799, t: \"Count Complete Subarrays in an Array\", d: \"Medium\", s: \"count-complete-subarrays-in-an-array\" },\n { n: 2800, t: \"Shortest String That Contains Three Strings\", d: \"Medium\", s: \"shortest-string-that-contains-three-strings\" },\n { n: 2801, t: \"Count Stepping Numbers in Range\", d: \"Hard\", s: \"count-stepping-numbers-in-range\" },\n { n: 2802, t: \"Find The K-th Lucky Number\", d: \"Medium\", s: \"find-the-k-th-lucky-number\" },\n { n: 2803, t: \"Factorial Generator\", d: \"Easy\", s: \"factorial-generator\" },\n { n: 2804, t: \"Array Prototype ForEach\", d: \"Easy\", s: \"array-prototype-foreach\" },\n { n: 2805, t: \"Custom Interval\", d: \"Medium\", s: \"custom-interval\" },\n { n: 2806, t: \"Account Balance After Rounded Purchase\", d: \"Easy\", s: \"account-balance-after-rounded-purchase\" },\n { n: 2807, t: \"Insert Greatest Common Divisors in Linked List\", d: \"Medium\", s: \"insert-greatest-common-divisors-in-linked-list\" },\n { n: 2808, t: \"Minimum Seconds to Equalize a Circular Array\", d: \"Medium\", s: \"minimum-seconds-to-equalize-a-circular-array\" },\n { n: 2809, t: \"Minimum Time to Make Array Sum At Most x\", d: \"Hard\", s: \"minimum-time-to-make-array-sum-at-most-x\" },\n { n: 2810, t: \"Faulty Keyboard\", d: \"Easy\", s: \"faulty-keyboard\" },\n { n: 2811, t: \"Check if it is Possible to Split Array\", d: \"Medium\", s: \"check-if-it-is-possible-to-split-array\" },\n { n: 2812, t: \"Find the Safest Path in a Grid\", d: \"Medium\", s: \"find-the-safest-path-in-a-grid\" },\n { n: 2813, t: \"Maximum Elegance of a K-Length Subsequence\", d: \"Hard\", s: \"maximum-elegance-of-a-k-length-subsequence\" },\n { n: 2814, t: \"Minimum Time Takes to Reach Destination Without Drowning\", d: \"Hard\", s: \"minimum-time-takes-to-reach-destination-without-drowning\" },\n { n: 2815, t: \"Max Pair Sum in an Array\", d: \"Easy\", s: \"max-pair-sum-in-an-array\" },\n { n: 2816, t: \"Double a Number Represented as a Linked List\", d: \"Medium\", s: \"double-a-number-represented-as-a-linked-list\" },\n { n: 2817, t: \"Minimum Absolute Difference Between Elements With Constraint\", d: \"Medium\", s: \"minimum-absolute-difference-between-elements-with-constraint\" },\n { n: 2818, t: \"Apply Operations to Maximize Score\", d: \"Hard\", s: \"apply-operations-to-maximize-score\" },\n { n: 2819, t: \"Minimum Relative Loss After Buying Chocolates\", d: \"Hard\", s: \"minimum-relative-loss-after-buying-chocolates\" },\n { n: 2820, t: \"Election Results\", d: \"Medium\", s: \"election-results\" },\n { n: 2821, t: \"Delay the Resolution of Each Promise\", d: \"Medium\", s: \"delay-the-resolution-of-each-promise\" },\n { n: 2822, t: \"Inversion of Object\", d: \"Easy\", s: \"inversion-of-object\" },\n { n: 2823, t: \"Deep Object Filter\", d: \"Medium\", s: \"deep-object-filter\" },\n { n: 2824, t: \"Count Pairs Whose Sum is Less than Target\", d: \"Easy\", s: \"count-pairs-whose-sum-is-less-than-target\" },\n { n: 2825, t: \"Make String a Subsequence Using Cyclic Increments\", d: \"Medium\", s: \"make-string-a-subsequence-using-cyclic-increments\" },\n { n: 2826, t: \"Sorting Three Groups\", d: \"Medium\", s: \"sorting-three-groups\" },\n { n: 2827, t: \"Number of Beautiful Integers in the Range\", d: \"Hard\", s: \"number-of-beautiful-integers-in-the-range\" },\n { n: 2828, t: \"Check if a String Is an Acronym of Words\", d: \"Easy\", s: \"check-if-a-string-is-an-acronym-of-words\" },\n { n: 2829, t: \"Determine the Minimum Sum of a k-avoiding Array\", d: \"Medium\", s: \"determine-the-minimum-sum-of-a-k-avoiding-array\" },\n { n: 2830, t: \"Maximize the Profit as the Salesman\", d: \"Medium\", s: \"maximize-the-profit-as-the-salesman\" },\n { n: 2831, t: \"Find the Longest Equal Subarray\", d: \"Medium\", s: \"find-the-longest-equal-subarray\" },\n { n: 2832, t: \"Maximal Range That Each Element Is Maximum in It\", d: \"Medium\", s: \"maximal-range-that-each-element-is-maximum-in-it\" },\n { n: 2833, t: \"Furthest Point From Origin\", d: \"Easy\", s: \"furthest-point-from-origin\" },\n { n: 2834, t: \"Find the Minimum Possible Sum of a Beautiful Array\", d: \"Medium\", s: \"find-the-minimum-possible-sum-of-a-beautiful-array\" },\n { n: 2835, t: \"Minimum Operations to Form Subsequence With Target Sum\", d: \"Hard\", s: \"minimum-operations-to-form-subsequence-with-target-sum\" },\n { n: 2836, t: \"Maximize Value of Function in a Ball Passing Game\", d: \"Hard\", s: \"maximize-value-of-function-in-a-ball-passing-game\" },\n { n: 2837, t: \"Total Traveled Distance\", d: \"Easy\", s: \"total-traveled-distance\" },\n { n: 2838, t: \"Maximum Coins Heroes Can Collect\", d: \"Medium\", s: \"maximum-coins-heroes-can-collect\" },\n { n: 2839, t: \"Check if Strings Can be Made Equal With Operations I\", d: \"Easy\", s: \"check-if-strings-can-be-made-equal-with-operations-i\" },\n { n: 2840, t: \"Check if Strings Can be Made Equal With Operations II\", d: \"Medium\", s: \"check-if-strings-can-be-made-equal-with-operations-ii\" },\n { n: 2841, t: \"Maximum Sum of Almost Unique Subarray\", d: \"Medium\", s: \"maximum-sum-of-almost-unique-subarray\" },\n { n: 2842, t: \"Count K-Subsequences of a String With Maximum Beauty\", d: \"Hard\", s: \"count-k-subsequences-of-a-string-with-maximum-beauty\" },\n { n: 2843, t: \"Count Symmetric Integers\", d: \"Easy\", s: \"count-symmetric-integers\" },\n { n: 2844, t: \"Minimum Operations to Make a Special Number\", d: \"Medium\", s: \"minimum-operations-to-make-a-special-number\" },\n { n: 2845, t: \"Count of Interesting Subarrays\", d: \"Medium\", s: \"count-of-interesting-subarrays\" },\n { n: 2846, t: \"Minimum Edge Weight Equilibrium Queries in a Tree\", d: \"Hard\", s: \"minimum-edge-weight-equilibrium-queries-in-a-tree\" },\n { n: 2847, t: \"Smallest Number With Given Digit Product\", d: \"Medium\", s: \"smallest-number-with-given-digit-product\" },\n { n: 2848, t: \"Points That Intersect With Cars\", d: \"Easy\", s: \"points-that-intersect-with-cars\" },\n { n: 2849, t: \"Determine if a Cell Is Reachable at a Given Time\", d: \"Medium\", s: \"determine-if-a-cell-is-reachable-at-a-given-time\" },\n { n: 2850, t: \"Minimum Moves to Spread Stones Over Grid\", d: \"Medium\", s: \"minimum-moves-to-spread-stones-over-grid\" },\n { n: 2851, t: \"String Transformation\", d: \"Hard\", s: \"string-transformation\" },\n { n: 2852, t: \"Sum of Remoteness of All Cells\", d: \"Medium\", s: \"sum-of-remoteness-of-all-cells\" },\n { n: 2853, t: \"Highest Salaries Difference\", d: \"Easy\", s: \"highest-salaries-difference\" },\n { n: 2854, t: \"Rolling Average Steps\", d: \"Medium\", s: \"rolling-average-steps\" },\n { n: 2855, t: \"Minimum Right Shifts to Sort the Array\", d: \"Easy\", s: \"minimum-right-shifts-to-sort-the-array\" },\n { n: 2856, t: \"Minimum Array Length After Pair Removals\", d: \"Medium\", s: \"minimum-array-length-after-pair-removals\" },\n { n: 2857, t: \"Count Pairs of Points With Distance k\", d: \"Medium\", s: \"count-pairs-of-points-with-distance-k\" },\n { n: 2858, t: \"Minimum Edge Reversals So Every Node Is Reachable\", d: \"Hard\", s: \"minimum-edge-reversals-so-every-node-is-reachable\" },\n { n: 2859, t: \"Sum of Values at Indices With K Set Bits\", d: \"Easy\", s: \"sum-of-values-at-indices-with-k-set-bits\" },\n { n: 2860, t: \"Happy Students\", d: \"Medium\", s: \"happy-students\" },\n { n: 2861, t: \"Maximum Number of Alloys\", d: \"Medium\", s: \"maximum-number-of-alloys\" },\n { n: 2862, t: \"Maximum Element-Sum of a Complete Subset of Indices\", d: \"Hard\", s: \"maximum-element-sum-of-a-complete-subset-of-indices\" },\n { n: 2863, t: \"Maximum Length of Semi-Decreasing Subarrays\", d: \"Medium\", s: \"maximum-length-of-semi-decreasing-subarrays\" },\n { n: 2864, t: \"Maximum Odd Binary Number\", d: \"Easy\", s: \"maximum-odd-binary-number\" },\n { n: 2865, t: \"Beautiful Towers I\", d: \"Medium\", s: \"beautiful-towers-i\" },\n { n: 2866, t: \"Beautiful Towers II\", d: \"Medium\", s: \"beautiful-towers-ii\" },\n { n: 2867, t: \"Count Valid Paths in a Tree\", d: \"Hard\", s: \"count-valid-paths-in-a-tree\" },\n { n: 2868, t: \"The Wording Game\", d: \"Hard\", s: \"the-wording-game\" },\n { n: 2869, t: \"Minimum Operations to Collect Elements\", d: \"Easy\", s: \"minimum-operations-to-collect-elements\" },\n { n: 2870, t: \"Minimum Number of Operations to Make Array Empty\", d: \"Medium\", s: \"minimum-number-of-operations-to-make-array-empty\" },\n { n: 2871, t: \"Split Array Into Maximum Number of Subarrays\", d: \"Medium\", s: \"split-array-into-maximum-number-of-subarrays\" },\n { n: 2872, t: \"Maximum Number of K-Divisible Components\", d: \"Hard\", s: \"maximum-number-of-k-divisible-components\" },\n { n: 2873, t: \"Maximum Value of an Ordered Triplet I\", d: \"Easy\", s: \"maximum-value-of-an-ordered-triplet-i\" },\n { n: 2874, t: \"Maximum Value of an Ordered Triplet II\", d: \"Medium\", s: \"maximum-value-of-an-ordered-triplet-ii\" },\n { n: 2875, t: \"Minimum Size Subarray in Infinite Array\", d: \"Medium\", s: \"minimum-size-subarray-in-infinite-array\" },\n { n: 2876, t: \"Count Visited Nodes in a Directed Graph\", d: \"Hard\", s: \"count-visited-nodes-in-a-directed-graph\" },\n { n: 2877, t: \"Create a DataFrame from List\", d: \"Easy\", s: \"create-a-dataframe-from-list\" },\n { n: 2878, t: \"Get the Size of a DataFrame\", d: \"Easy\", s: \"get-the-size-of-a-dataframe\" },\n { n: 2879, t: \"Display the First Three Rows\", d: \"Easy\", s: \"display-the-first-three-rows\" },\n { n: 2880, t: \"Select Data\", d: \"Easy\", s: \"select-data\" },\n { n: 2881, t: \"Create a New Column\", d: \"Easy\", s: \"create-a-new-column\" },\n { n: 2882, t: \"Drop Duplicate Rows\", d: \"Easy\", s: \"drop-duplicate-rows\" },\n { n: 2883, t: \"Drop Missing Data\", d: \"Easy\", s: \"drop-missing-data\" },\n { n: 2884, t: \"Modify Columns\", d: \"Easy\", s: \"modify-columns\" },\n { n: 2885, t: \"Rename Columns\", d: \"Easy\", s: \"rename-columns\" },\n { n: 2886, t: \"Change Data Type\", d: \"Easy\", s: \"change-data-type\" },\n { n: 2887, t: \"Fill Missing Data\", d: \"Easy\", s: \"fill-missing-data\" },\n { n: 2888, t: \"Reshape Data: Concatenate\", d: \"Easy\", s: \"reshape-data-concatenate\" },\n { n: 2889, t: \"Reshape Data: Pivot\", d: \"Easy\", s: \"reshape-data-pivot\" },\n { n: 2890, t: \"Reshape Data: Melt\", d: \"Easy\", s: \"reshape-data-melt\" },\n { n: 2891, t: \"Method Chaining\", d: \"Easy\", s: \"method-chaining\" },\n { n: 2892, t: \"Minimizing Array After Replacing Pairs With Their Product\", d: \"Medium\", s: \"minimizing-array-after-replacing-pairs-with-their-product\" },\n { n: 2893, t: \"Calculate Orders Within Each Interval\", d: \"Medium\", s: \"calculate-orders-within-each-interval\" },\n { n: 2894, t: \"Divisible and Non-divisible Sums Difference\", d: \"Easy\", s: \"divisible-and-non-divisible-sums-difference\" },\n { n: 2895, t: \"Minimum Processing Time\", d: \"Medium\", s: \"minimum-processing-time\" },\n { n: 2896, t: \"Apply Operations to Make Two Strings Equal\", d: \"Medium\", s: \"apply-operations-to-make-two-strings-equal\" },\n { n: 2897, t: \"Apply Operations on Array to Maximize Sum of Squares\", d: \"Hard\", s: \"apply-operations-on-array-to-maximize-sum-of-squares\" },\n { n: 2898, t: \"Maximum Linear Stock Score\", d: \"Medium\", s: \"maximum-linear-stock-score\" },\n { n: 2899, t: \"Last Visited Integers\", d: \"Easy\", s: \"last-visited-integers\" },\n { n: 2900, t: \"Longest Unequal Adjacent Groups Subsequence I\", d: \"Easy\", s: \"longest-unequal-adjacent-groups-subsequence-i\" },\n { n: 2901, t: \"Longest Unequal Adjacent Groups Subsequence II\", d: \"Medium\", s: \"longest-unequal-adjacent-groups-subsequence-ii\" },\n { n: 2902, t: \"Count of Sub-Multisets With Bounded Sum\", d: \"Hard\", s: \"count-of-sub-multisets-with-bounded-sum\" },\n { n: 2903, t: \"Find Indices With Index and Value Difference I\", d: \"Easy\", s: \"find-indices-with-index-and-value-difference-i\" },\n { n: 2904, t: \"Shortest and Lexicographically Smallest Beautiful String\", d: \"Medium\", s: \"shortest-and-lexicographically-smallest-beautiful-string\" },\n { n: 2905, t: \"Find Indices With Index and Value Difference II\", d: \"Medium\", s: \"find-indices-with-index-and-value-difference-ii\" },\n { n: 2906, t: \"Construct Product Matrix\", d: \"Medium\", s: \"construct-product-matrix\" },\n { n: 2907, t: \"Maximum Profitable Triplets With Increasing Prices I\", d: \"Medium\", s: \"maximum-profitable-triplets-with-increasing-prices-i\" },\n { n: 2908, t: \"Minimum Sum of Mountain Triplets I\", d: \"Easy\", s: \"minimum-sum-of-mountain-triplets-i\" },\n { n: 2909, t: \"Minimum Sum of Mountain Triplets II\", d: \"Medium\", s: \"minimum-sum-of-mountain-triplets-ii\" },\n { n: 2910, t: \"Minimum Number of Groups to Create a Valid Assignment\", d: \"Medium\", s: \"minimum-number-of-groups-to-create-a-valid-assignment\" },\n { n: 2911, t: \"Minimum Changes to Make K Semi-palindromes\", d: \"Hard\", s: \"minimum-changes-to-make-k-semi-palindromes\" },\n { n: 2912, t: \"Number of Ways to Reach Destination in the Grid\", d: \"Hard\", s: \"number-of-ways-to-reach-destination-in-the-grid\" },\n { n: 2913, t: \"Subarrays Distinct Element Sum of Squares I\", d: \"Easy\", s: \"subarrays-distinct-element-sum-of-squares-i\" },\n { n: 2914, t: \"Minimum Number of Changes to Make Binary String Beautiful\", d: \"Medium\", s: \"minimum-number-of-changes-to-make-binary-string-beautiful\" },\n { n: 2915, t: \"Length of the Longest Subsequence That Sums to Target\", d: \"Medium\", s: \"length-of-the-longest-subsequence-that-sums-to-target\" },\n { n: 2916, t: \"Subarrays Distinct Element Sum of Squares II\", d: \"Hard\", s: \"subarrays-distinct-element-sum-of-squares-ii\" },\n { n: 2917, t: \"Find the K-or of an Array\", d: \"Easy\", s: \"find-the-k-or-of-an-array\" },\n { n: 2918, t: \"Minimum Equal Sum of Two Arrays After Replacing Zeros\", d: \"Medium\", s: \"minimum-equal-sum-of-two-arrays-after-replacing-zeros\" },\n { n: 2919, t: \"Minimum Increment Operations to Make Array Beautiful\", d: \"Medium\", s: \"minimum-increment-operations-to-make-array-beautiful\" },\n { n: 2920, t: \"Maximum Points After Collecting Coins From All Nodes\", d: \"Hard\", s: \"maximum-points-after-collecting-coins-from-all-nodes\" },\n { n: 2921, t: \"Maximum Profitable Triplets With Increasing Prices II\", d: \"Hard\", s: \"maximum-profitable-triplets-with-increasing-prices-ii\" },\n { n: 2922, t: \"Market Analysis III\", d: \"Medium\", s: \"market-analysis-iii\" },\n { n: 2923, t: \"Find Champion I\", d: \"Easy\", s: \"find-champion-i\" },\n { n: 2924, t: \"Find Champion II\", d: \"Medium\", s: \"find-champion-ii\" },\n { n: 2925, t: \"Maximum Score After Applying Operations on a Tree\", d: \"Medium\", s: \"maximum-score-after-applying-operations-on-a-tree\" },\n { n: 2926, t: \"Maximum Balanced Subsequence Sum\", d: \"Hard\", s: \"maximum-balanced-subsequence-sum\" },\n { n: 2927, t: \"Distribute Candies Among Children III\", d: \"Hard\", s: \"distribute-candies-among-children-iii\" },\n { n: 2928, t: \"Distribute Candies Among Children I\", d: \"Easy\", s: \"distribute-candies-among-children-i\" },\n { n: 2929, t: \"Distribute Candies Among Children II\", d: \"Medium\", s: \"distribute-candies-among-children-ii\" },\n { n: 2930, t: \"Number of Strings Which Can Be Rearranged to Contain Substring\", d: \"Medium\", s: \"number-of-strings-which-can-be-rearranged-to-contain-substring\" },\n { n: 2931, t: \"Maximum Spending After Buying Items\", d: \"Hard\", s: \"maximum-spending-after-buying-items\" },\n { n: 2932, t: \"Maximum Strong Pair XOR I\", d: \"Easy\", s: \"maximum-strong-pair-xor-i\" },\n { n: 2933, t: \"High-Access Employees\", d: \"Medium\", s: \"high-access-employees\" },\n { n: 2934, t: \"Minimum Operations to Maximize Last Elements in Arrays\", d: \"Medium\", s: \"minimum-operations-to-maximize-last-elements-in-arrays\" },\n { n: 2935, t: \"Maximum Strong Pair XOR II\", d: \"Hard\", s: \"maximum-strong-pair-xor-ii\" },\n { n: 2936, t: \"Number of Equal Numbers Blocks\", d: \"Medium\", s: \"number-of-equal-numbers-blocks\" },\n { n: 2937, t: \"Make Three Strings Equal\", d: \"Easy\", s: \"make-three-strings-equal\" },\n { n: 2938, t: \"Separate Black and White Balls\", d: \"Medium\", s: \"separate-black-and-white-balls\" },\n { n: 2939, t: \"Maximum Xor Product\", d: \"Medium\", s: \"maximum-xor-product\" },\n { n: 2940, t: \"Find Building Where Alice and Bob Can Meet\", d: \"Hard\", s: \"find-building-where-alice-and-bob-can-meet\" },\n { n: 2941, t: \"Maximum GCD-Sum of a Subarray\", d: \"Hard\", s: \"maximum-gcd-sum-of-a-subarray\" },\n { n: 2942, t: \"Find Words Containing Character\", d: \"Easy\", s: \"find-words-containing-character\" },\n { n: 2943, t: \"Maximize Area of Square Hole in Grid\", d: \"Medium\", s: \"maximize-area-of-square-hole-in-grid\" },\n { n: 2944, t: \"Minimum Number of Coins for Fruits\", d: \"Medium\", s: \"minimum-number-of-coins-for-fruits\" },\n { n: 2945, t: \"Find Maximum Non-decreasing Array Length\", d: \"Hard\", s: \"find-maximum-non-decreasing-array-length\" },\n { n: 2946, t: \"Matrix Similarity After Cyclic Shifts\", d: \"Easy\", s: \"matrix-similarity-after-cyclic-shifts\" },\n { n: 2947, t: \"Count Beautiful Substrings I\", d: \"Medium\", s: \"count-beautiful-substrings-i\" },\n { n: 2948, t: \"Make Lexicographically Smallest Array by Swapping Elements\", d: \"Medium\", s: \"make-lexicographically-smallest-array-by-swapping-elements\" },\n { n: 2949, t: \"Count Beautiful Substrings II\", d: \"Hard\", s: \"count-beautiful-substrings-ii\" },\n { n: 2950, t: \"Number of Divisible Substrings\", d: \"Medium\", s: \"number-of-divisible-substrings\" },\n { n: 2951, t: \"Find the Peaks\", d: \"Easy\", s: \"find-the-peaks\" },\n { n: 2952, t: \"Minimum Number of Coins to be Added\", d: \"Medium\", s: \"minimum-number-of-coins-to-be-added\" },\n { n: 2953, t: \"Count Complete Substrings\", d: \"Hard\", s: \"count-complete-substrings\" },\n { n: 2954, t: \"Count the Number of Infection Sequences\", d: \"Hard\", s: \"count-the-number-of-infection-sequences\" },\n { n: 2955, t: \"Number of Same-End Substrings\", d: \"Medium\", s: \"number-of-same-end-substrings\" },\n { n: 2956, t: \"Find Common Elements Between Two Arrays\", d: \"Easy\", s: \"find-common-elements-between-two-arrays\" },\n { n: 2957, t: \"Remove Adjacent Almost-Equal Characters\", d: \"Medium\", s: \"remove-adjacent-almost-equal-characters\" },\n { n: 2958, t: \"Length of Longest Subarray With at Most K Frequency\", d: \"Medium\", s: \"length-of-longest-subarray-with-at-most-k-frequency\" },\n { n: 2959, t: \"Number of Possible Sets of Closing Branches\", d: \"Hard\", s: \"number-of-possible-sets-of-closing-branches\" },\n { n: 2960, t: \"Count Tested Devices After Test Operations\", d: \"Easy\", s: \"count-tested-devices-after-test-operations\" },\n { n: 2961, t: \"Double Modular Exponentiation\", d: \"Medium\", s: \"double-modular-exponentiation\" },\n { n: 2962, t: \"Count Subarrays Where Max Element Appears at Least K Times\", d: \"Medium\", s: \"count-subarrays-where-max-element-appears-at-least-k-times\" },\n { n: 2963, t: \"Count the Number of Good Partitions\", d: \"Hard\", s: \"count-the-number-of-good-partitions\" },\n { n: 2964, t: \"Number of Divisible Triplet Sums\", d: \"Medium\", s: \"number-of-divisible-triplet-sums\" },\n { n: 2965, t: \"Find Missing and Repeated Values\", d: \"Easy\", s: \"find-missing-and-repeated-values\" },\n { n: 2966, t: \"Divide Array Into Arrays With Max Difference\", d: \"Medium\", s: \"divide-array-into-arrays-with-max-difference\" },\n { n: 2967, t: \"Minimum Cost to Make Array Equalindromic\", d: \"Medium\", s: \"minimum-cost-to-make-array-equalindromic\" },\n { n: 2968, t: \"Apply Operations to Maximize Frequency Score\", d: \"Hard\", s: \"apply-operations-to-maximize-frequency-score\" },\n { n: 2969, t: \"Minimum Number of Coins for Fruits II\", d: \"Hard\", s: \"minimum-number-of-coins-for-fruits-ii\" },\n { n: 2970, t: \"Count the Number of Incremovable Subarrays I\", d: \"Easy\", s: \"count-the-number-of-incremovable-subarrays-i\" },\n { n: 2971, t: \"Find Polygon With the Largest Perimeter\", d: \"Medium\", s: \"find-polygon-with-the-largest-perimeter\" },\n { n: 2972, t: \"Count the Number of Incremovable Subarrays II\", d: \"Hard\", s: \"count-the-number-of-incremovable-subarrays-ii\" },\n { n: 2973, t: \"Find Number of Coins to Place in Tree Nodes\", d: \"Hard\", s: \"find-number-of-coins-to-place-in-tree-nodes\" },\n { n: 2974, t: \"Minimum Number Game\", d: \"Easy\", s: \"minimum-number-game\" },\n { n: 2975, t: \"Maximum Square Area by Removing Fences From a Field\", d: \"Medium\", s: \"maximum-square-area-by-removing-fences-from-a-field\" },\n { n: 2976, t: \"Minimum Cost to Convert String I\", d: \"Medium\", s: \"minimum-cost-to-convert-string-i\" },\n { n: 2977, t: \"Minimum Cost to Convert String II\", d: \"Hard\", s: \"minimum-cost-to-convert-string-ii\" },\n { n: 2978, t: \"Symmetric Coordinates\", d: \"Medium\", s: \"symmetric-coordinates\" },\n { n: 2979, t: \"Most Expensive Item That Can Not Be Bought\", d: \"Medium\", s: \"most-expensive-item-that-can-not-be-bought\" },\n { n: 2980, t: \"Check if Bitwise OR Has Trailing Zeros\", d: \"Easy\", s: \"check-if-bitwise-or-has-trailing-zeros\" },\n { n: 2981, t: \"Find Longest Special Substring That Occurs Thrice I\", d: \"Medium\", s: \"find-longest-special-substring-that-occurs-thrice-i\" },\n { n: 2982, t: \"Find Longest Special Substring That Occurs Thrice II\", d: \"Medium\", s: \"find-longest-special-substring-that-occurs-thrice-ii\" },\n { n: 2983, t: \"Palindrome Rearrangement Queries\", d: \"Hard\", s: \"palindrome-rearrangement-queries\" },\n { n: 2984, t: \"Find Peak Calling Hours for Each City\", d: \"Medium\", s: \"find-peak-calling-hours-for-each-city\" },\n { n: 2985, t: \"Calculate Compressed Mean\", d: \"Easy\", s: \"calculate-compressed-mean\" },\n { n: 2986, t: \"Find Third Transaction\", d: \"Medium\", s: \"find-third-transaction\" },\n { n: 2987, t: \"Find Expensive Cities\", d: \"Easy\", s: \"find-expensive-cities\" },\n { n: 2988, t: \"Manager of the Largest Department\", d: \"Medium\", s: \"manager-of-the-largest-department\" },\n { n: 2989, t: \"Class Performance\", d: \"Medium\", s: \"class-performance\" },\n { n: 2990, t: \"Loan Types\", d: \"Easy\", s: \"loan-types\" },\n { n: 2991, t: \"Top Three Wineries\", d: \"Hard\", s: \"top-three-wineries\" },\n { n: 2992, t: \"Number of Self-Divisible Permutations\", d: \"Medium\", s: \"number-of-self-divisible-permutations\" },\n { n: 2993, t: \"Friday Purchases I\", d: \"Medium\", s: \"friday-purchases-i\" },\n { n: 2994, t: \"Friday Purchases II\", d: \"Hard\", s: \"friday-purchases-ii\" },\n { n: 2995, t: \"Viewers Turned Streamers\", d: \"Hard\", s: \"viewers-turned-streamers\" },\n { n: 2996, t: \"Smallest Missing Integer Greater Than Sequential Prefix Sum\", d: \"Easy\", s: \"smallest-missing-integer-greater-than-sequential-prefix-sum\" },\n { n: 2997, t: \"Minimum Number of Operations to Make Array XOR Equal to K\", d: \"Medium\", s: \"minimum-number-of-operations-to-make-array-xor-equal-to-k\" },\n { n: 2998, t: \"Minimum Number of Operations to Make X and Y Equal\", d: \"Medium\", s: \"minimum-number-of-operations-to-make-x-and-y-equal\" },\n { n: 2999, t: \"Count the Number of Powerful Integers\", d: \"Hard\", s: \"count-the-number-of-powerful-integers\" },\n { n: 3000, t: \"Maximum Area of Longest Diagonal Rectangle\", d: \"Easy\", s: \"maximum-area-of-longest-diagonal-rectangle\" },\n { n: 3001, t: \"Minimum Moves to Capture The Queen\", d: \"Medium\", s: \"minimum-moves-to-capture-the-queen\" },\n { n: 3002, t: \"Maximum Size of a Set After Removals\", d: \"Medium\", s: \"maximum-size-of-a-set-after-removals\" },\n { n: 3003, t: \"Maximize the Number of Partitions After Operations\", d: \"Hard\", s: \"maximize-the-number-of-partitions-after-operations\" },\n { n: 3004, t: \"Maximum Subtree of the Same Color\", d: \"Medium\", s: \"maximum-subtree-of-the-same-color\" },\n { n: 3005, t: \"Count Elements With Maximum Frequency\", d: \"Easy\", s: \"count-elements-with-maximum-frequency\" },\n { n: 3006, t: \"Find Beautiful Indices in the Given Array I\", d: \"Medium\", s: \"find-beautiful-indices-in-the-given-array-i\" },\n { n: 3007, t: \"Maximum Number That Sum of the Prices Is Less Than or Equal to K\", d: \"Medium\", s: \"maximum-number-that-sum-of-the-prices-is-less-than-or-equal-to-k\" },\n { n: 3008, t: \"Find Beautiful Indices in the Given Array II\", d: \"Hard\", s: \"find-beautiful-indices-in-the-given-array-ii\" },\n { n: 3009, t: \"Maximum Number of Intersections on the Chart\", d: \"Hard\", s: \"maximum-number-of-intersections-on-the-chart\" },\n { n: 3010, t: \"Divide an Array Into Subarrays With Minimum Cost I\", d: \"Easy\", s: \"divide-an-array-into-subarrays-with-minimum-cost-i\" },\n { n: 3011, t: \"Find if Array Can Be Sorted\", d: \"Medium\", s: \"find-if-array-can-be-sorted\" },\n { n: 3012, t: \"Minimize Length of Array Using Operations\", d: \"Medium\", s: \"minimize-length-of-array-using-operations\" },\n { n: 3013, t: \"Divide an Array Into Subarrays With Minimum Cost II\", d: \"Hard\", s: \"divide-an-array-into-subarrays-with-minimum-cost-ii\" },\n { n: 3014, t: \"Minimum Number of Pushes to Type Word I\", d: \"Easy\", s: \"minimum-number-of-pushes-to-type-word-i\" },\n { n: 3015, t: \"Count the Number of Houses at a Certain Distance I\", d: \"Medium\", s: \"count-the-number-of-houses-at-a-certain-distance-i\" },\n { n: 3016, t: \"Minimum Number of Pushes to Type Word II\", d: \"Medium\", s: \"minimum-number-of-pushes-to-type-word-ii\" },\n { n: 3017, t: \"Count the Number of Houses at a Certain Distance II\", d: \"Hard\", s: \"count-the-number-of-houses-at-a-certain-distance-ii\" },\n { n: 3018, t: \"Maximum Number of Removal Queries That Can Be Processed I\", d: \"Hard\", s: \"maximum-number-of-removal-queries-that-can-be-processed-i\" },\n { n: 3019, t: \"Number of Changing Keys\", d: \"Easy\", s: \"number-of-changing-keys\" },\n { n: 3020, t: \"Find the Maximum Number of Elements in Subset\", d: \"Medium\", s: \"find-the-maximum-number-of-elements-in-subset\" },\n { n: 3021, t: \"Alice and Bob Playing Flower Game\", d: \"Medium\", s: \"alice-and-bob-playing-flower-game\" },\n { n: 3022, t: \"Minimize OR of Remaining Elements Using Operations\", d: \"Hard\", s: \"minimize-or-of-remaining-elements-using-operations\" },\n { n: 3023, t: \"Find Pattern in Infinite Stream I\", d: \"Medium\", s: \"find-pattern-in-infinite-stream-i\" },\n { n: 3024, t: \"Type of Triangle\", d: \"Easy\", s: \"type-of-triangle\" },\n { n: 3025, t: \"Find the Number of Ways to Place People I\", d: \"Medium\", s: \"find-the-number-of-ways-to-place-people-i\" },\n { n: 3026, t: \"Maximum Good Subarray Sum\", d: \"Medium\", s: \"maximum-good-subarray-sum\" },\n { n: 3027, t: \"Find the Number of Ways to Place People II\", d: \"Hard\", s: \"find-the-number-of-ways-to-place-people-ii\" },\n { n: 3028, t: \"Ant on the Boundary\", d: \"Easy\", s: \"ant-on-the-boundary\" },\n { n: 3029, t: \"Minimum Time to Revert Word to Initial State I\", d: \"Medium\", s: \"minimum-time-to-revert-word-to-initial-state-i\" },\n { n: 3030, t: \"Find the Grid of Region Average\", d: \"Medium\", s: \"find-the-grid-of-region-average\" },\n { n: 3031, t: \"Minimum Time to Revert Word to Initial State II\", d: \"Hard\", s: \"minimum-time-to-revert-word-to-initial-state-ii\" },\n { n: 3032, t: \"Count Numbers With Unique Digits II\", d: \"Easy\", s: \"count-numbers-with-unique-digits-ii\" },\n { n: 3033, t: \"Modify the Matrix\", d: \"Easy\", s: \"modify-the-matrix\" },\n { n: 3034, t: \"Number of Subarrays That Match a Pattern I\", d: \"Medium\", s: \"number-of-subarrays-that-match-a-pattern-i\" },\n { n: 3035, t: \"Maximum Palindromes After Operations\", d: \"Medium\", s: \"maximum-palindromes-after-operations\" },\n { n: 3036, t: \"Number of Subarrays That Match a Pattern II\", d: \"Hard\", s: \"number-of-subarrays-that-match-a-pattern-ii\" },\n { n: 3037, t: \"Find Pattern in Infinite Stream II\", d: \"Hard\", s: \"find-pattern-in-infinite-stream-ii\" },\n { n: 3038, t: \"Maximum Number of Operations With the Same Score I\", d: \"Easy\", s: \"maximum-number-of-operations-with-the-same-score-i\" },\n { n: 3039, t: \"Apply Operations to Make String Empty\", d: \"Medium\", s: \"apply-operations-to-make-string-empty\" },\n { n: 3040, t: \"Maximum Number of Operations With the Same Score II\", d: \"Medium\", s: \"maximum-number-of-operations-with-the-same-score-ii\" },\n { n: 3041, t: \"Maximize Consecutive Elements in an Array After Modification\", d: \"Hard\", s: \"maximize-consecutive-elements-in-an-array-after-modification\" },\n { n: 3042, t: \"Count Prefix and Suffix Pairs I\", d: \"Easy\", s: \"count-prefix-and-suffix-pairs-i\" },\n { n: 3043, t: \"Find the Length of the Longest Common Prefix\", d: \"Medium\", s: \"find-the-length-of-the-longest-common-prefix\" },\n { n: 3044, t: \"Most Frequent Prime\", d: \"Medium\", s: \"most-frequent-prime\" },\n { n: 3045, t: \"Count Prefix and Suffix Pairs II\", d: \"Hard\", s: \"count-prefix-and-suffix-pairs-ii\" },\n { n: 3046, t: \"Split the Array\", d: \"Easy\", s: \"split-the-array\" },\n { n: 3047, t: \"Find the Largest Area of Square Inside Two Rectangles\", d: \"Medium\", s: \"find-the-largest-area-of-square-inside-two-rectangles\" },\n { n: 3048, t: \"Earliest Second to Mark Indices I\", d: \"Medium\", s: \"earliest-second-to-mark-indices-i\" },\n { n: 3049, t: \"Earliest Second to Mark Indices II\", d: \"Hard\", s: \"earliest-second-to-mark-indices-ii\" },\n { n: 3050, t: \"Pizza Toppings Cost Analysis\", d: \"Medium\", s: \"pizza-toppings-cost-analysis\" },\n { n: 3051, t: \"Find Candidates for Data Scientist Position\", d: \"Easy\", s: \"find-candidates-for-data-scientist-position\" },\n { n: 3052, t: \"Maximize Items\", d: \"Hard\", s: \"maximize-items\" },\n { n: 3053, t: \"Classifying Triangles by Lengths\", d: \"Easy\", s: \"classifying-triangles-by-lengths\" },\n { n: 3054, t: \"Binary Tree Nodes\", d: \"Medium\", s: \"binary-tree-nodes\" },\n { n: 3055, t: \"Top Percentile Fraud\", d: \"Medium\", s: \"top-percentile-fraud\" },\n { n: 3056, t: \"Snaps Analysis\", d: \"Medium\", s: \"snaps-analysis\" },\n { n: 3057, t: \"Employees Project Allocation\", d: \"Hard\", s: \"employees-project-allocation\" },\n { n: 3058, t: \"Friends With No Mutual Friends\", d: \"Medium\", s: \"friends-with-no-mutual-friends\" },\n { n: 3059, t: \"Find All Unique Email Domains\", d: \"Easy\", s: \"find-all-unique-email-domains\" },\n { n: 3060, t: \"User Activities within Time Bounds\", d: \"Hard\", s: \"user-activities-within-time-bounds\" },\n { n: 3061, t: \"Calculate Trapping Rain Water\", d: \"Hard\", s: \"calculate-trapping-rain-water\" },\n { n: 3062, t: \"Winner of the Linked List Game\", d: \"Easy\", s: \"winner-of-the-linked-list-game\" },\n { n: 3063, t: \"Linked List Frequency\", d: \"Easy\", s: \"linked-list-frequency\" },\n { n: 3064, t: \"Guess the Number Using Bitwise Questions I\", d: \"Medium\", s: \"guess-the-number-using-bitwise-questions-i\" },\n { n: 3065, t: \"Minimum Operations to Exceed Threshold Value I\", d: \"Easy\", s: \"minimum-operations-to-exceed-threshold-value-i\" },\n { n: 3066, t: \"Minimum Operations to Exceed Threshold Value II\", d: \"Medium\", s: \"minimum-operations-to-exceed-threshold-value-ii\" },\n { n: 3067, t: \"Count Pairs of Connectable Servers in a Weighted Tree Network\", d: \"Medium\", s: \"count-pairs-of-connectable-servers-in-a-weighted-tree-network\" },\n { n: 3068, t: \"Find the Maximum Sum of Node Values\", d: \"Hard\", s: \"find-the-maximum-sum-of-node-values\" },\n { n: 3069, t: \"Distribute Elements Into Two Arrays I\", d: \"Easy\", s: \"distribute-elements-into-two-arrays-i\" },\n { n: 3070, t: \"Count Submatrices with Top-Left Element and Sum Less Than k\", d: \"Medium\", s: \"count-submatrices-with-top-left-element-and-sum-less-than-k\" },\n { n: 3071, t: \"Minimum Operations to Write the Letter Y on a Grid\", d: \"Medium\", s: \"minimum-operations-to-write-the-letter-y-on-a-grid\" },\n { n: 3072, t: \"Distribute Elements Into Two Arrays II\", d: \"Hard\", s: \"distribute-elements-into-two-arrays-ii\" },\n { n: 3073, t: \"Maximum Increasing Triplet Value\", d: \"Medium\", s: \"maximum-increasing-triplet-value\" },\n { n: 3074, t: \"Apple Redistribution into Boxes\", d: \"Easy\", s: \"apple-redistribution-into-boxes\" },\n { n: 3075, t: \"Maximize Happiness of Selected Children\", d: \"Medium\", s: \"maximize-happiness-of-selected-children\" },\n { n: 3076, t: \"Shortest Uncommon Substring in an Array\", d: \"Medium\", s: \"shortest-uncommon-substring-in-an-array\" },\n { n: 3077, t: \"Maximum Strength of K Disjoint Subarrays\", d: \"Hard\", s: \"maximum-strength-of-k-disjoint-subarrays\" },\n { n: 3078, t: \"Match Alphanumerical Pattern in Matrix I\", d: \"Medium\", s: \"match-alphanumerical-pattern-in-matrix-i\" },\n { n: 3079, t: \"Find the Sum of Encrypted Integers\", d: \"Easy\", s: \"find-the-sum-of-encrypted-integers\" },\n { n: 3080, t: \"Mark Elements on Array by Performing Queries\", d: \"Medium\", s: \"mark-elements-on-array-by-performing-queries\" },\n { n: 3081, t: \"Replace Question Marks in String to Minimize Its Value\", d: \"Medium\", s: \"replace-question-marks-in-string-to-minimize-its-value\" },\n { n: 3082, t: \"Find the Sum of the Power of All Subsequences\", d: \"Hard\", s: \"find-the-sum-of-the-power-of-all-subsequences\" },\n { n: 3083, t: \"Existence of a Substring in a String and Its Reverse\", d: \"Easy\", s: \"existence-of-a-substring-in-a-string-and-its-reverse\" },\n { n: 3084, t: \"Count Substrings Starting and Ending with Given Character\", d: \"Medium\", s: \"count-substrings-starting-and-ending-with-given-character\" },\n { n: 3085, t: \"Minimum Deletions to Make String K-Special\", d: \"Medium\", s: \"minimum-deletions-to-make-string-k-special\" },\n { n: 3086, t: \"Minimum Moves to Pick K Ones\", d: \"Hard\", s: \"minimum-moves-to-pick-k-ones\" },\n { n: 3087, t: \"Find Trending Hashtags\", d: \"Medium\", s: \"find-trending-hashtags\" },\n { n: 3088, t: \"Make String Anti-palindrome\", d: \"Hard\", s: \"make-string-anti-palindrome\" },\n { n: 3089, t: \"Find Bursty Behavior\", d: \"Medium\", s: \"find-bursty-behavior\" },\n { n: 3090, t: \"Maximum Length Substring With Two Occurrences\", d: \"Easy\", s: \"maximum-length-substring-with-two-occurrences\" },\n { n: 3091, t: \"Apply Operations to Make Sum of Array Greater Than or Equal to k\", d: \"Medium\", s: \"apply-operations-to-make-sum-of-array-greater-than-or-equal-to-k\" },\n { n: 3092, t: \"Most Frequent IDs\", d: \"Medium\", s: \"most-frequent-ids\" },\n { n: 3093, t: \"Longest Common Suffix Queries\", d: \"Hard\", s: \"longest-common-suffix-queries\" },\n { n: 3094, t: \"Guess the Number Using Bitwise Questions II\", d: \"Medium\", s: \"guess-the-number-using-bitwise-questions-ii\" },\n { n: 3095, t: \"Shortest Subarray With OR at Least K I\", d: \"Easy\", s: \"shortest-subarray-with-or-at-least-k-i\" },\n { n: 3096, t: \"Minimum Levels to Gain More Points\", d: \"Medium\", s: \"minimum-levels-to-gain-more-points\" },\n { n: 3097, t: \"Shortest Subarray With OR at Least K II\", d: \"Medium\", s: \"shortest-subarray-with-or-at-least-k-ii\" },\n { n: 3098, t: \"Find the Sum of Subsequence Powers\", d: \"Hard\", s: \"find-the-sum-of-subsequence-powers\" },\n { n: 3099, t: \"Harshad Number\", d: \"Easy\", s: \"harshad-number\" },\n { n: 3100, t: \"Water Bottles II\", d: \"Medium\", s: \"water-bottles-ii\" },\n { n: 3101, t: \"Count Alternating Subarrays\", d: \"Medium\", s: \"count-alternating-subarrays\" },\n { n: 3102, t: \"Minimize Manhattan Distances\", d: \"Hard\", s: \"minimize-manhattan-distances\" },\n { n: 3103, t: \"Find Trending Hashtags II\", d: \"Hard\", s: \"find-trending-hashtags-ii\" },\n { n: 3104, t: \"Find Longest Self-Contained Substring\", d: \"Hard\", s: \"find-longest-self-contained-substring\" },\n { n: 3105, t: \"Longest Strictly Increasing or Strictly Decreasing Subarray\", d: \"Easy\", s: \"longest-strictly-increasing-or-strictly-decreasing-subarray\" },\n { n: 3106, t: \"Lexicographically Smallest String After Operations With Constraint\", d: \"Medium\", s: \"lexicographically-smallest-string-after-operations-with-constraint\" },\n { n: 3107, t: \"Minimum Operations to Make Median of Array Equal to K\", d: \"Medium\", s: \"minimum-operations-to-make-median-of-array-equal-to-k\" },\n { n: 3108, t: \"Minimum Cost Walk in Weighted Graph\", d: \"Hard\", s: \"minimum-cost-walk-in-weighted-graph\" },\n { n: 3109, t: \"Find the Index of Permutation\", d: \"Medium\", s: \"find-the-index-of-permutation\" },\n { n: 3110, t: \"Score of a String\", d: \"Easy\", s: \"score-of-a-string\" },\n { n: 3111, t: \"Minimum Rectangles to Cover Points\", d: \"Medium\", s: \"minimum-rectangles-to-cover-points\" },\n { n: 3112, t: \"Minimum Time to Visit Disappearing Nodes\", d: \"Medium\", s: \"minimum-time-to-visit-disappearing-nodes\" },\n { n: 3113, t: \"Find the Number of Subarrays Where Boundary Elements Are Maximum\", d: \"Hard\", s: \"find-the-number-of-subarrays-where-boundary-elements-are-maximum\" },\n { n: 3114, t: \"Latest Time You Can Obtain After Replacing Characters\", d: \"Easy\", s: \"latest-time-you-can-obtain-after-replacing-characters\" },\n { n: 3115, t: \"Maximum Prime Difference\", d: \"Medium\", s: \"maximum-prime-difference\" },\n { n: 3116, t: \"Kth Smallest Amount With Single Denomination Combination\", d: \"Hard\", s: \"kth-smallest-amount-with-single-denomination-combination\" },\n { n: 3117, t: \"Minimum Sum of Values by Dividing Array\", d: \"Hard\", s: \"minimum-sum-of-values-by-dividing-array\" },\n { n: 3118, t: \"Friday Purchase III\", d: \"Medium\", s: \"friday-purchase-iii\" },\n { n: 3119, t: \"Maximum Number of Potholes That Can Be Fixed\", d: \"Medium\", s: \"maximum-number-of-potholes-that-can-be-fixed\" },\n { n: 3120, t: \"Count the Number of Special Characters I\", d: \"Easy\", s: \"count-the-number-of-special-characters-i\" },\n { n: 3121, t: \"Count the Number of Special Characters II\", d: \"Medium\", s: \"count-the-number-of-special-characters-ii\" },\n { n: 3122, t: \"Minimum Number of Operations to Satisfy Conditions\", d: \"Medium\", s: \"minimum-number-of-operations-to-satisfy-conditions\" },\n { n: 3123, t: \"Find Edges in Shortest Paths\", d: \"Hard\", s: \"find-edges-in-shortest-paths\" },\n { n: 3124, t: \"Find Longest Calls\", d: \"Medium\", s: \"find-longest-calls\" },\n { n: 3125, t: \"Maximum Number That Makes Result of Bitwise AND Zero\", d: \"Medium\", s: \"maximum-number-that-makes-result-of-bitwise-and-zero\" },\n { n: 3126, t: \"Server Utilization Time\", d: \"Medium\", s: \"server-utilization-time\" },\n { n: 3127, t: \"Make a Square with the Same Color\", d: \"Easy\", s: \"make-a-square-with-the-same-color\" },\n { n: 3128, t: \"Right Triangles\", d: \"Medium\", s: \"right-triangles\" },\n { n: 3129, t: \"Find All Possible Stable Binary Arrays I\", d: \"Medium\", s: \"find-all-possible-stable-binary-arrays-i\" },\n { n: 3130, t: \"Find All Possible Stable Binary Arrays II\", d: \"Hard\", s: \"find-all-possible-stable-binary-arrays-ii\" },\n { n: 3131, t: \"Find the Integer Added to Array I\", d: \"Easy\", s: \"find-the-integer-added-to-array-i\" },\n { n: 3132, t: \"Find the Integer Added to Array II\", d: \"Medium\", s: \"find-the-integer-added-to-array-ii\" },\n { n: 3133, t: \"Minimum Array End\", d: \"Medium\", s: \"minimum-array-end\" },\n { n: 3134, t: \"Find the Median of the Uniqueness Array\", d: \"Hard\", s: \"find-the-median-of-the-uniqueness-array\" },\n { n: 3135, t: \"Equalize Strings by Adding or Removing Characters at Ends\", d: \"Medium\", s: \"equalize-strings-by-adding-or-removing-characters-at-ends\" },\n { n: 3136, t: \"Valid Word\", d: \"Easy\", s: \"valid-word\" },\n { n: 3137, t: \"Minimum Number of Operations to Make Word K-Periodic\", d: \"Medium\", s: \"minimum-number-of-operations-to-make-word-k-periodic\" },\n { n: 3138, t: \"Minimum Length of Anagram Concatenation\", d: \"Medium\", s: \"minimum-length-of-anagram-concatenation\" },\n { n: 3139, t: \"Minimum Cost to Equalize Array\", d: \"Hard\", s: \"minimum-cost-to-equalize-array\" },\n { n: 3140, t: \"Consecutive Available Seats II\", d: \"Medium\", s: \"consecutive-available-seats-ii\" },\n { n: 3141, t: \"Maximum Hamming Distances\", d: \"Hard\", s: \"maximum-hamming-distances\" },\n { n: 3142, t: \"Check if Grid Satisfies Conditions\", d: \"Easy\", s: \"check-if-grid-satisfies-conditions\" },\n { n: 3143, t: \"Maximum Points Inside the Square\", d: \"Medium\", s: \"maximum-points-inside-the-square\" },\n { n: 3144, t: \"Minimum Substring Partition of Equal Character Frequency\", d: \"Medium\", s: \"minimum-substring-partition-of-equal-character-frequency\" },\n { n: 3145, t: \"Find Products of Elements of Big Array\", d: \"Hard\", s: \"find-products-of-elements-of-big-array\" },\n { n: 3146, t: \"Permutation Difference between Two Strings\", d: \"Easy\", s: \"permutation-difference-between-two-strings\" },\n { n: 3147, t: \"Taking Maximum Energy From the Mystic Dungeon\", d: \"Medium\", s: \"taking-maximum-energy-from-the-mystic-dungeon\" },\n { n: 3148, t: \"Maximum Difference Score in a Grid\", d: \"Medium\", s: \"maximum-difference-score-in-a-grid\" },\n { n: 3149, t: \"Find the Minimum Cost Array Permutation\", d: \"Hard\", s: \"find-the-minimum-cost-array-permutation\" },\n { n: 3150, t: \"Invalid Tweets II\", d: \"Easy\", s: \"invalid-tweets-ii\" },\n { n: 3151, t: \"Special Array I\", d: \"Easy\", s: \"special-array-i\" },\n { n: 3152, t: \"Special Array II\", d: \"Medium\", s: \"special-array-ii\" },\n { n: 3153, t: \"Sum of Digit Differences of All Pairs\", d: \"Medium\", s: \"sum-of-digit-differences-of-all-pairs\" },\n { n: 3154, t: \"Find Number of Ways to Reach the K-th Stair\", d: \"Hard\", s: \"find-number-of-ways-to-reach-the-k-th-stair\" },\n { n: 3155, t: \"Maximum Number of Upgradable Servers\", d: \"Medium\", s: \"maximum-number-of-upgradable-servers\" },\n { n: 3156, t: \"Employee Task Duration and Concurrent Tasks\", d: \"Hard\", s: \"employee-task-duration-and-concurrent-tasks\" },\n { n: 3157, t: \"Find the Level of Tree with Minimum Sum\", d: \"Medium\", s: \"find-the-level-of-tree-with-minimum-sum\" },\n { n: 3158, t: \"Find the XOR of Numbers Which Appear Twice\", d: \"Easy\", s: \"find-the-xor-of-numbers-which-appear-twice\" },\n { n: 3159, t: \"Find Occurrences of an Element in an Array\", d: \"Medium\", s: \"find-occurrences-of-an-element-in-an-array\" },\n { n: 3160, t: \"Find the Number of Distinct Colors Among the Balls\", d: \"Medium\", s: \"find-the-number-of-distinct-colors-among-the-balls\" },\n { n: 3161, t: \"Block Placement Queries\", d: \"Hard\", s: \"block-placement-queries\" },\n { n: 3162, t: \"Find the Number of Good Pairs I\", d: \"Easy\", s: \"find-the-number-of-good-pairs-i\" },\n { n: 3163, t: \"String Compression III\", d: \"Medium\", s: \"string-compression-iii\" },\n { n: 3164, t: \"Find the Number of Good Pairs II\", d: \"Medium\", s: \"find-the-number-of-good-pairs-ii\" },\n { n: 3165, t: \"Maximum Sum of Subsequence With Non-adjacent Elements\", d: \"Hard\", s: \"maximum-sum-of-subsequence-with-non-adjacent-elements\" },\n { n: 3166, t: \"Calculate Parking Fees and Duration\", d: \"Medium\", s: \"calculate-parking-fees-and-duration\" },\n { n: 3167, t: \"Better Compression of String\", d: \"Medium\", s: \"better-compression-of-string\" },\n { n: 3168, t: \"Minimum Number of Chairs in a Waiting Room\", d: \"Easy\", s: \"minimum-number-of-chairs-in-a-waiting-room\" },\n { n: 3169, t: \"Count Days Without Meetings\", d: \"Medium\", s: \"count-days-without-meetings\" },\n { n: 3170, t: \"Lexicographically Minimum String After Removing Stars\", d: \"Medium\", s: \"lexicographically-minimum-string-after-removing-stars\" },\n { n: 3171, t: \"Find Subarray With Bitwise OR Closest to K\", d: \"Hard\", s: \"find-subarray-with-bitwise-or-closest-to-k\" },\n { n: 3172, t: \"Second Day Verification\", d: \"Easy\", s: \"second-day-verification\" },\n { n: 3173, t: \"Bitwise OR of Adjacent Elements\", d: \"Easy\", s: \"bitwise-or-of-adjacent-elements\" },\n { n: 3174, t: \"Clear Digits\", d: \"Easy\", s: \"clear-digits\" },\n { n: 3175, t: \"Find The First Player to win K Games in a Row\", d: \"Medium\", s: \"find-the-first-player-to-win-k-games-in-a-row\" },\n { n: 3176, t: \"Find the Maximum Length of a Good Subsequence I\", d: \"Medium\", s: \"find-the-maximum-length-of-a-good-subsequence-i\" },\n { n: 3177, t: \"Find the Maximum Length of a Good Subsequence II\", d: \"Hard\", s: \"find-the-maximum-length-of-a-good-subsequence-ii\" },\n { n: 3178, t: \"Find the Child Who Has the Ball After K Seconds\", d: \"Easy\", s: \"find-the-child-who-has-the-ball-after-k-seconds\" },\n { n: 3179, t: \"Find the N-th Value After K Seconds\", d: \"Medium\", s: \"find-the-n-th-value-after-k-seconds\" },\n { n: 3180, t: \"Maximum Total Reward Using Operations I\", d: \"Medium\", s: \"maximum-total-reward-using-operations-i\" },\n { n: 3181, t: \"Maximum Total Reward Using Operations II\", d: \"Hard\", s: \"maximum-total-reward-using-operations-ii\" },\n { n: 3182, t: \"Find Top Scoring Students\", d: \"Medium\", s: \"find-top-scoring-students\" },\n { n: 3183, t: \"The Number of Ways to Make the Sum\", d: \"Medium\", s: \"the-number-of-ways-to-make-the-sum\" },\n { n: 3184, t: \"Count Pairs That Form a Complete Day I\", d: \"Easy\", s: \"count-pairs-that-form-a-complete-day-i\" },\n { n: 3185, t: \"Count Pairs That Form a Complete Day II\", d: \"Medium\", s: \"count-pairs-that-form-a-complete-day-ii\" },\n { n: 3186, t: \"Maximum Total Damage With Spell Casting\", d: \"Medium\", s: \"maximum-total-damage-with-spell-casting\" },\n { n: 3187, t: \"Peaks in Array\", d: \"Hard\", s: \"peaks-in-array\" },\n { n: 3188, t: \"Find Top Scoring Students II\", d: \"Hard\", s: \"find-top-scoring-students-ii\" },\n { n: 3189, t: \"Minimum Moves to Get a Peaceful Board\", d: \"Medium\", s: \"minimum-moves-to-get-a-peaceful-board\" },\n { n: 3190, t: \"Find Minimum Operations to Make All Elements Divisible by Three\", d: \"Easy\", s: \"find-minimum-operations-to-make-all-elements-divisible-by-three\" },\n { n: 3191, t: \"Minimum Operations to Make Binary Array Elements Equal to One I\", d: \"Medium\", s: \"minimum-operations-to-make-binary-array-elements-equal-to-one-i\" },\n { n: 3192, t: \"Minimum Operations to Make Binary Array Elements Equal to One II\", d: \"Medium\", s: \"minimum-operations-to-make-binary-array-elements-equal-to-one-ii\" },\n { n: 3193, t: \"Count the Number of Inversions\", d: \"Hard\", s: \"count-the-number-of-inversions\" },\n { n: 3194, t: \"Minimum Average of Smallest and Largest Elements\", d: \"Easy\", s: \"minimum-average-of-smallest-and-largest-elements\" },\n { n: 3195, t: \"Find the Minimum Area to Cover All Ones I\", d: \"Medium\", s: \"find-the-minimum-area-to-cover-all-ones-i\" },\n { n: 3196, t: \"Maximize Total Cost of Alternating Subarrays\", d: \"Medium\", s: \"maximize-total-cost-of-alternating-subarrays\" },\n { n: 3197, t: \"Find the Minimum Area to Cover All Ones II\", d: \"Hard\", s: \"find-the-minimum-area-to-cover-all-ones-ii\" },\n { n: 3198, t: \"Find Cities in Each State\", d: \"Easy\", s: \"find-cities-in-each-state\" },\n { n: 3199, t: \"Count Triplets with Even XOR Set Bits I\", d: \"Easy\", s: \"count-triplets-with-even-xor-set-bits-i\" },\n { n: 3200, t: \"Maximum Height of a Triangle\", d: \"Easy\", s: \"maximum-height-of-a-triangle\" },\n { n: 3201, t: \"Find the Maximum Length of Valid Subsequence I\", d: \"Medium\", s: \"find-the-maximum-length-of-valid-subsequence-i\" },\n { n: 3202, t: \"Find the Maximum Length of Valid Subsequence II\", d: \"Medium\", s: \"find-the-maximum-length-of-valid-subsequence-ii\" },\n { n: 3203, t: \"Find Minimum Diameter After Merging Two Trees\", d: \"Hard\", s: \"find-minimum-diameter-after-merging-two-trees\" },\n { n: 3204, t: \"Bitwise User Permissions Analysis\", d: \"Medium\", s: \"bitwise-user-permissions-analysis\" },\n { n: 3205, t: \"Maximum Array Hopping Score I\", d: \"Medium\", s: \"maximum-array-hopping-score-i\" },\n { n: 3206, t: \"Alternating Groups I\", d: \"Easy\", s: \"alternating-groups-i\" },\n { n: 3207, t: \"Maximum Points After Enemy Battles\", d: \"Medium\", s: \"maximum-points-after-enemy-battles\" },\n { n: 3208, t: \"Alternating Groups II\", d: \"Medium\", s: \"alternating-groups-ii\" },\n { n: 3209, t: \"Number of Subarrays With AND Value of K\", d: \"Hard\", s: \"number-of-subarrays-with-and-value-of-k\" },\n { n: 3210, t: \"Find the Encrypted String\", d: \"Easy\", s: \"find-the-encrypted-string\" },\n { n: 3211, t: \"Generate Binary Strings Without Adjacent Zeros\", d: \"Medium\", s: \"generate-binary-strings-without-adjacent-zeros\" },\n { n: 3212, t: \"Count Submatrices With Equal Frequency of X and Y\", d: \"Medium\", s: \"count-submatrices-with-equal-frequency-of-x-and-y\" },\n { n: 3213, t: \"Construct String with Minimum Cost\", d: \"Hard\", s: \"construct-string-with-minimum-cost\" },\n { n: 3214, t: \"Year on Year Growth Rate\", d: \"Hard\", s: \"year-on-year-growth-rate\" },\n { n: 3215, t: \"Count Triplets with Even XOR Set Bits II\", d: \"Medium\", s: \"count-triplets-with-even-xor-set-bits-ii\" },\n { n: 3216, t: \"Lexicographically Smallest String After a Swap\", d: \"Easy\", s: \"lexicographically-smallest-string-after-a-swap\" },\n { n: 3217, t: \"Delete Nodes From Linked List Present in Array\", d: \"Medium\", s: \"delete-nodes-from-linked-list-present-in-array\" },\n { n: 3218, t: \"Minimum Cost for Cutting Cake I\", d: \"Medium\", s: \"minimum-cost-for-cutting-cake-i\" },\n { n: 3219, t: \"Minimum Cost for Cutting Cake II\", d: \"Hard\", s: \"minimum-cost-for-cutting-cake-ii\" },\n { n: 3220, t: \"Odd and Even Transactions\", d: \"Medium\", s: \"odd-and-even-transactions\" },\n { n: 3221, t: \"Maximum Array Hopping Score II\", d: \"Medium\", s: \"maximum-array-hopping-score-ii\" },\n { n: 3222, t: \"Find the Winning Player in Coin Game\", d: \"Easy\", s: \"find-the-winning-player-in-coin-game\" },\n { n: 3223, t: \"Minimum Length of String After Operations\", d: \"Medium\", s: \"minimum-length-of-string-after-operations\" },\n { n: 3224, t: \"Minimum Array Changes to Make Differences Equal\", d: \"Medium\", s: \"minimum-array-changes-to-make-differences-equal\" },\n { n: 3225, t: \"Maximum Score From Grid Operations\", d: \"Hard\", s: \"maximum-score-from-grid-operations\" },\n { n: 3226, t: \"Number of Bit Changes to Make Two Integers Equal\", d: \"Easy\", s: \"number-of-bit-changes-to-make-two-integers-equal\" },\n { n: 3227, t: \"Vowels Game in a String\", d: \"Medium\", s: \"vowels-game-in-a-string\" },\n { n: 3228, t: \"Maximum Number of Operations to Move Ones to the End\", d: \"Medium\", s: \"maximum-number-of-operations-to-move-ones-to-the-end\" },\n { n: 3229, t: \"Minimum Operations to Make Array Equal to Target\", d: \"Hard\", s: \"minimum-operations-to-make-array-equal-to-target\" },\n { n: 3230, t: \"Customer Purchasing Behavior Analysis\", d: \"Medium\", s: \"customer-purchasing-behavior-analysis\" },\n { n: 3231, t: \"Minimum Number of Increasing Subsequence to Be Removed\", d: \"Hard\", s: \"minimum-number-of-increasing-subsequence-to-be-removed\" },\n { n: 3232, t: \"Find if Digit Game Can Be Won\", d: \"Easy\", s: \"find-if-digit-game-can-be-won\" },\n { n: 3233, t: \"Find the Count of Numbers Which Are Not Special\", d: \"Medium\", s: \"find-the-count-of-numbers-which-are-not-special\" },\n { n: 3234, t: \"Count the Number of Substrings With Dominant Ones\", d: \"Medium\", s: \"count-the-number-of-substrings-with-dominant-ones\" },\n { n: 3235, t: \"Check if the Rectangle Corner Is Reachable\", d: \"Hard\", s: \"check-if-the-rectangle-corner-is-reachable\" },\n { n: 3236, t: \"CEO Subordinate Hierarchy\", d: \"Hard\", s: \"ceo-subordinate-hierarchy\" },\n { n: 3237, t: \"Alt and Tab Simulation\", d: \"Medium\", s: \"alt-and-tab-simulation\" },\n { n: 3238, t: \"Find the Number of Winning Players\", d: \"Easy\", s: \"find-the-number-of-winning-players\" },\n { n: 3239, t: \"Minimum Number of Flips to Make Binary Grid Palindromic I\", d: \"Medium\", s: \"minimum-number-of-flips-to-make-binary-grid-palindromic-i\" },\n { n: 3240, t: \"Minimum Number of Flips to Make Binary Grid Palindromic II\", d: \"Medium\", s: \"minimum-number-of-flips-to-make-binary-grid-palindromic-ii\" },\n { n: 3241, t: \"Time Taken to Mark All Nodes\", d: \"Hard\", s: \"time-taken-to-mark-all-nodes\" },\n { n: 3242, t: \"Design Neighbor Sum Service\", d: \"Easy\", s: \"design-neighbor-sum-service\" },\n { n: 3243, t: \"Shortest Distance After Road Addition Queries I\", d: \"Medium\", s: \"shortest-distance-after-road-addition-queries-i\" },\n { n: 3244, t: \"Shortest Distance After Road Addition Queries II\", d: \"Hard\", s: \"shortest-distance-after-road-addition-queries-ii\" },\n { n: 3245, t: \"Alternating Groups III\", d: \"Hard\", s: \"alternating-groups-iii\" },\n { n: 3246, t: \"Premier League Table Ranking\", d: \"Easy\", s: \"premier-league-table-ranking\" },\n { n: 3247, t: \"Number of Subsequences with Odd Sum\", d: \"Medium\", s: \"number-of-subsequences-with-odd-sum\" },\n { n: 3248, t: \"Snake in Matrix\", d: \"Easy\", s: \"snake-in-matrix\" },\n { n: 3249, t: \"Count the Number of Good Nodes\", d: \"Medium\", s: \"count-the-number-of-good-nodes\" },\n { n: 3250, t: \"Find the Count of Monotonic Pairs I\", d: \"Hard\", s: \"find-the-count-of-monotonic-pairs-i\" },\n { n: 3251, t: \"Find the Count of Monotonic Pairs II\", d: \"Hard\", s: \"find-the-count-of-monotonic-pairs-ii\" },\n { n: 3252, t: \"Premier League Table Ranking II\", d: \"Medium\", s: \"premier-league-table-ranking-ii\" },\n { n: 3253, t: \"Construct String with Minimum Cost (Easy)\", d: \"Medium\", s: \"construct-string-with-minimum-cost-easy\" },\n { n: 3254, t: \"Find the Power of K-Size Subarrays I\", d: \"Medium\", s: \"find-the-power-of-k-size-subarrays-i\" },\n { n: 3255, t: \"Find the Power of K-Size Subarrays II\", d: \"Medium\", s: \"find-the-power-of-k-size-subarrays-ii\" },\n { n: 3256, t: \"Maximum Value Sum by Placing Three Rooks I\", d: \"Hard\", s: \"maximum-value-sum-by-placing-three-rooks-i\" },\n { n: 3257, t: \"Maximum Value Sum by Placing Three Rooks II\", d: \"Hard\", s: \"maximum-value-sum-by-placing-three-rooks-ii\" },\n { n: 3258, t: \"Count Substrings That Satisfy K-Constraint I\", d: \"Easy\", s: \"count-substrings-that-satisfy-k-constraint-i\" },\n { n: 3259, t: \"Maximum Energy Boost From Two Drinks\", d: \"Medium\", s: \"maximum-energy-boost-from-two-drinks\" },\n { n: 3260, t: \"Find the Largest Palindrome Divisible by K\", d: \"Hard\", s: \"find-the-largest-palindrome-divisible-by-k\" },\n { n: 3261, t: \"Count Substrings That Satisfy K-Constraint II\", d: \"Hard\", s: \"count-substrings-that-satisfy-k-constraint-ii\" },\n { n: 3262, t: \"Find Overlapping Shifts\", d: \"Medium\", s: \"find-overlapping-shifts\" },\n { n: 3263, t: \"Convert Doubly Linked List to Array I\", d: \"Easy\", s: \"convert-doubly-linked-list-to-array-i\" },\n { n: 3264, t: \"Final Array State After K Multiplication Operations I\", d: \"Easy\", s: \"final-array-state-after-k-multiplication-operations-i\" },\n { n: 3265, t: \"Count Almost Equal Pairs I\", d: \"Medium\", s: \"count-almost-equal-pairs-i\" },\n { n: 3266, t: \"Final Array State After K Multiplication Operations II\", d: \"Hard\", s: \"final-array-state-after-k-multiplication-operations-ii\" },\n { n: 3267, t: \"Count Almost Equal Pairs II\", d: \"Hard\", s: \"count-almost-equal-pairs-ii\" },\n { n: 3268, t: \"Find Overlapping Shifts II\", d: \"Hard\", s: \"find-overlapping-shifts-ii\" },\n { n: 3269, t: \"Constructing Two Increasing Arrays\", d: \"Hard\", s: \"constructing-two-increasing-arrays\" },\n { n: 3270, t: \"Find the Key of the Numbers\", d: \"Easy\", s: \"find-the-key-of-the-numbers\" },\n { n: 3271, t: \"Hash Divided String\", d: \"Medium\", s: \"hash-divided-string\" },\n { n: 3272, t: \"Find the Count of Good Integers\", d: \"Hard\", s: \"find-the-count-of-good-integers\" },\n { n: 3273, t: \"Minimum Amount of Damage Dealt to Bob\", d: \"Hard\", s: \"minimum-amount-of-damage-dealt-to-bob\" },\n { n: 3274, t: \"Check if Two Chessboard Squares Have the Same Color\", d: \"Easy\", s: \"check-if-two-chessboard-squares-have-the-same-color\" },\n { n: 3275, t: \"K-th Nearest Obstacle Queries\", d: \"Medium\", s: \"k-th-nearest-obstacle-queries\" },\n { n: 3276, t: \"Select Cells in Grid With Maximum Score\", d: \"Hard\", s: \"select-cells-in-grid-with-maximum-score\" },\n { n: 3277, t: \"Maximum XOR Score Subarray Queries\", d: \"Hard\", s: \"maximum-xor-score-subarray-queries\" },\n { n: 3278, t: \"Find Candidates for Data Scientist Position II\", d: \"Medium\", s: \"find-candidates-for-data-scientist-position-ii\" },\n { n: 3279, t: \"Maximum Total Area Occupied by Pistons\", d: \"Hard\", s: \"maximum-total-area-occupied-by-pistons\" },\n { n: 3280, t: \"Convert Date to Binary\", d: \"Easy\", s: \"convert-date-to-binary\" },\n { n: 3281, t: \"Maximize Score of Numbers in Ranges\", d: \"Medium\", s: \"maximize-score-of-numbers-in-ranges\" },\n { n: 3282, t: \"Reach End of Array With Max Score\", d: \"Medium\", s: \"reach-end-of-array-with-max-score\" },\n { n: 3283, t: \"Maximum Number of Moves to Kill All Pawns\", d: \"Hard\", s: \"maximum-number-of-moves-to-kill-all-pawns\" },\n { n: 3284, t: \"Sum of Consecutive Subarrays\", d: \"Medium\", s: \"sum-of-consecutive-subarrays\" },\n { n: 3285, t: \"Find Indices of Stable Mountains\", d: \"Easy\", s: \"find-indices-of-stable-mountains\" },\n { n: 3286, t: \"Find a Safe Walk Through a Grid\", d: \"Medium\", s: \"find-a-safe-walk-through-a-grid\" },\n { n: 3287, t: \"Find the Maximum Sequence Value of Array\", d: \"Hard\", s: \"find-the-maximum-sequence-value-of-array\" },\n { n: 3288, t: \"Length of the Longest Increasing Path\", d: \"Hard\", s: \"length-of-the-longest-increasing-path\" },\n { n: 3289, t: \"The Two Sneaky Numbers of Digitville\", d: \"Easy\", s: \"the-two-sneaky-numbers-of-digitville\" },\n { n: 3290, t: \"Maximum Multiplication Score\", d: \"Medium\", s: \"maximum-multiplication-score\" },\n { n: 3291, t: \"Minimum Number of Valid Strings to Form Target I\", d: \"Medium\", s: \"minimum-number-of-valid-strings-to-form-target-i\" },\n { n: 3292, t: \"Minimum Number of Valid Strings to Form Target II\", d: \"Hard\", s: \"minimum-number-of-valid-strings-to-form-target-ii\" },\n { n: 3293, t: \"Calculate Product Final Price\", d: \"Medium\", s: \"calculate-product-final-price\" },\n { n: 3294, t: \"Convert Doubly Linked List to Array II\", d: \"Medium\", s: \"convert-doubly-linked-list-to-array-ii\" },\n { n: 3295, t: \"Report Spam Message\", d: \"Medium\", s: \"report-spam-message\" },\n { n: 3296, t: \"Minimum Number of Seconds to Make Mountain Height Zero\", d: \"Medium\", s: \"minimum-number-of-seconds-to-make-mountain-height-zero\" },\n { n: 3297, t: \"Count Substrings That Can Be Rearranged to Contain a String I\", d: \"Medium\", s: \"count-substrings-that-can-be-rearranged-to-contain-a-string-i\" },\n { n: 3298, t: \"Count Substrings That Can Be Rearranged to Contain a String II\", d: \"Hard\", s: \"count-substrings-that-can-be-rearranged-to-contain-a-string-ii\" },\n { n: 3299, t: \"Sum of Consecutive Subsequences\", d: \"Hard\", s: \"sum-of-consecutive-subsequences\" },\n { n: 3300, t: \"Minimum Element After Replacement With Digit Sum\", d: \"Easy\", s: \"minimum-element-after-replacement-with-digit-sum\" },\n { n: 3301, t: \"Maximize the Total Height of Unique Towers\", d: \"Medium\", s: \"maximize-the-total-height-of-unique-towers\" },\n { n: 3302, t: \"Find the Lexicographically Smallest Valid Sequence\", d: \"Medium\", s: \"find-the-lexicographically-smallest-valid-sequence\" },\n { n: 3303, t: \"Find the Occurrence of First Almost Equal Substring\", d: \"Hard\", s: \"find-the-occurrence-of-first-almost-equal-substring\" },\n { n: 3304, t: \"Find the K-th Character in String Game I\", d: \"Easy\", s: \"find-the-k-th-character-in-string-game-i\" },\n { n: 3305, t: \"Count of Substrings Containing Every Vowel and K Consonants I\", d: \"Medium\", s: \"count-of-substrings-containing-every-vowel-and-k-consonants-i\" },\n { n: 3306, t: \"Count of Substrings Containing Every Vowel and K Consonants II\", d: \"Medium\", s: \"count-of-substrings-containing-every-vowel-and-k-consonants-ii\" },\n { n: 3307, t: \"Find the K-th Character in String Game II\", d: \"Hard\", s: \"find-the-k-th-character-in-string-game-ii\" },\n { n: 3308, t: \"Find Top Performing Driver\", d: \"Medium\", s: \"find-top-performing-driver\" },\n { n: 3309, t: \"Maximum Possible Number by Binary Concatenation\", d: \"Medium\", s: \"maximum-possible-number-by-binary-concatenation\" },\n { n: 3310, t: \"Remove Methods From Project\", d: \"Medium\", s: \"remove-methods-from-project\" },\n { n: 3311, t: \"Construct 2D Grid Matching Graph Layout\", d: \"Hard\", s: \"construct-2d-grid-matching-graph-layout\" },\n { n: 3312, t: \"Sorted GCD Pair Queries\", d: \"Hard\", s: \"sorted-gcd-pair-queries\" },\n { n: 3313, t: \"Find the Last Marked Nodes in Tree\", d: \"Hard\", s: \"find-the-last-marked-nodes-in-tree\" },\n { n: 3314, t: \"Construct the Minimum Bitwise Array I\", d: \"Easy\", s: \"construct-the-minimum-bitwise-array-i\" },\n { n: 3315, t: \"Construct the Minimum Bitwise Array II\", d: \"Medium\", s: \"construct-the-minimum-bitwise-array-ii\" },\n { n: 3316, t: \"Find Maximum Removals From Source String\", d: \"Medium\", s: \"find-maximum-removals-from-source-string\" },\n { n: 3317, t: \"Find the Number of Possible Ways for an Event\", d: \"Hard\", s: \"find-the-number-of-possible-ways-for-an-event\" },\n { n: 3318, t: \"Find X-Sum of All K-Long Subarrays I\", d: \"Easy\", s: \"find-x-sum-of-all-k-long-subarrays-i\" },\n { n: 3319, t: \"K-th Largest Perfect Subtree Size in Binary Tree\", d: \"Medium\", s: \"k-th-largest-perfect-subtree-size-in-binary-tree\" },\n { n: 3320, t: \"Count The Number of Winning Sequences\", d: \"Hard\", s: \"count-the-number-of-winning-sequences\" },\n { n: 3321, t: \"Find X-Sum of All K-Long Subarrays II\", d: \"Hard\", s: \"find-x-sum-of-all-k-long-subarrays-ii\" },\n { n: 3322, t: \"Premier League Table Ranking III\", d: \"Medium\", s: \"premier-league-table-ranking-iii\" },\n { n: 3323, t: \"Minimize Connected Groups by Inserting Interval\", d: \"Medium\", s: \"minimize-connected-groups-by-inserting-interval\" },\n { n: 3324, t: \"Find the Sequence of Strings Appeared on the Screen\", d: \"Medium\", s: \"find-the-sequence-of-strings-appeared-on-the-screen\" },\n { n: 3325, t: \"Count Substrings With K-Frequency Characters I\", d: \"Medium\", s: \"count-substrings-with-k-frequency-characters-i\" },\n { n: 3326, t: \"Minimum Division Operations to Make Array Non Decreasing\", d: \"Medium\", s: \"minimum-division-operations-to-make-array-non-decreasing\" },\n { n: 3327, t: \"Check if DFS Strings Are Palindromes\", d: \"Hard\", s: \"check-if-dfs-strings-are-palindromes\" },\n { n: 3328, t: \"Find Cities in Each State II\", d: \"Medium\", s: \"find-cities-in-each-state-ii\" },\n { n: 3329, t: \"Count Substrings With K-Frequency Characters II\", d: \"Hard\", s: \"count-substrings-with-k-frequency-characters-ii\" },\n { n: 3330, t: \"Find the Original Typed String I\", d: \"Easy\", s: \"find-the-original-typed-string-i\" },\n { n: 3331, t: \"Find Subtree Sizes After Changes\", d: \"Medium\", s: \"find-subtree-sizes-after-changes\" },\n { n: 3332, t: \"Maximum Points Tourist Can Earn\", d: \"Medium\", s: \"maximum-points-tourist-can-earn\" },\n { n: 3333, t: \"Find the Original Typed String II\", d: \"Hard\", s: \"find-the-original-typed-string-ii\" },\n { n: 3334, t: \"Find the Maximum Factor Score of Array\", d: \"Medium\", s: \"find-the-maximum-factor-score-of-array\" },\n { n: 3335, t: \"Total Characters in String After Transformations I\", d: \"Medium\", s: \"total-characters-in-string-after-transformations-i\" },\n { n: 3336, t: \"Find the Number of Subsequences With Equal GCD\", d: \"Hard\", s: \"find-the-number-of-subsequences-with-equal-gcd\" },\n { n: 3337, t: \"Total Characters in String After Transformations II\", d: \"Hard\", s: \"total-characters-in-string-after-transformations-ii\" },\n { n: 3338, t: \"Second Highest Salary II\", d: \"Medium\", s: \"second-highest-salary-ii\" },\n { n: 3339, t: \"Find the Number of K-Even Arrays\", d: \"Medium\", s: \"find-the-number-of-k-even-arrays\" },\n { n: 3340, t: \"Check Balanced String\", d: \"Easy\", s: \"check-balanced-string\" },\n { n: 3341, t: \"Find Minimum Time to Reach Last Room I\", d: \"Medium\", s: \"find-minimum-time-to-reach-last-room-i\" },\n { n: 3342, t: \"Find Minimum Time to Reach Last Room II\", d: \"Medium\", s: \"find-minimum-time-to-reach-last-room-ii\" },\n { n: 3343, t: \"Count Number of Balanced Permutations\", d: \"Hard\", s: \"count-number-of-balanced-permutations\" },\n { n: 3344, t: \"Maximum Sized Array\", d: \"Medium\", s: \"maximum-sized-array\" },\n { n: 3345, t: \"Smallest Divisible Digit Product I\", d: \"Easy\", s: \"smallest-divisible-digit-product-i\" },\n { n: 3346, t: \"Maximum Frequency of an Element After Performing Operations I\", d: \"Medium\", s: \"maximum-frequency-of-an-element-after-performing-operations-i\" },\n { n: 3347, t: \"Maximum Frequency of an Element After Performing Operations II\", d: \"Hard\", s: \"maximum-frequency-of-an-element-after-performing-operations-ii\" },\n { n: 3348, t: \"Smallest Divisible Digit Product II\", d: \"Hard\", s: \"smallest-divisible-digit-product-ii\" },\n { n: 3349, t: \"Adjacent Increasing Subarrays Detection I\", d: \"Easy\", s: \"adjacent-increasing-subarrays-detection-i\" },\n { n: 3350, t: \"Adjacent Increasing Subarrays Detection II\", d: \"Medium\", s: \"adjacent-increasing-subarrays-detection-ii\" },\n { n: 3351, t: \"Sum of Good Subsequences\", d: \"Hard\", s: \"sum-of-good-subsequences\" },\n { n: 3352, t: \"Count K-Reducible Numbers Less Than N\", d: \"Hard\", s: \"count-k-reducible-numbers-less-than-n\" },\n { n: 3353, t: \"Minimum Total Operations\", d: \"Easy\", s: \"minimum-total-operations\" },\n { n: 3354, t: \"Make Array Elements Equal to Zero\", d: \"Easy\", s: \"make-array-elements-equal-to-zero\" },\n { n: 3355, t: \"Zero Array Transformation I\", d: \"Medium\", s: \"zero-array-transformation-i\" },\n { n: 3356, t: \"Zero Array Transformation II\", d: \"Medium\", s: \"zero-array-transformation-ii\" },\n { n: 3357, t: \"Minimize the Maximum Adjacent Element Difference\", d: \"Hard\", s: \"minimize-the-maximum-adjacent-element-difference\" },\n { n: 3358, t: \"Books with NULL Ratings\", d: \"Easy\", s: \"books-with-null-ratings\" },\n { n: 3359, t: \"Find Sorted Submatrices With Maximum Element at Most K\", d: \"Hard\", s: \"find-sorted-submatrices-with-maximum-element-at-most-k\" },\n { n: 3360, t: \"Stone Removal Game\", d: \"Easy\", s: \"stone-removal-game\" },\n { n: 3361, t: \"Shift Distance Between Two Strings\", d: \"Medium\", s: \"shift-distance-between-two-strings\" },\n { n: 3362, t: \"Zero Array Transformation III\", d: \"Medium\", s: \"zero-array-transformation-iii\" },\n { n: 3363, t: \"Find the Maximum Number of Fruits Collected\", d: \"Hard\", s: \"find-the-maximum-number-of-fruits-collected\" },\n { n: 3364, t: \"Minimum Positive Sum Subarray\", d: \"Easy\", s: \"minimum-positive-sum-subarray\" },\n { n: 3365, t: \"Rearrange K Substrings to Form Target String\", d: \"Medium\", s: \"rearrange-k-substrings-to-form-target-string\" },\n { n: 3366, t: \"Minimum Array Sum\", d: \"Medium\", s: \"minimum-array-sum\" },\n { n: 3367, t: \"Maximize Sum of Weights after Edge Removals\", d: \"Hard\", s: \"maximize-sum-of-weights-after-edge-removals\" },\n { n: 3368, t: \"First Letter Capitalization\", d: \"Hard\", s: \"first-letter-capitalization\" },\n { n: 3369, t: \"Design an Array Statistics Tracker\", d: \"Hard\", s: \"design-an-array-statistics-tracker\" },\n { n: 3370, t: \"Smallest Number With All Set Bits\", d: \"Easy\", s: \"smallest-number-with-all-set-bits\" },\n { n: 3371, t: \"Identify the Largest Outlier in an Array\", d: \"Medium\", s: \"identify-the-largest-outlier-in-an-array\" },\n { n: 3372, t: \"Maximize the Number of Target Nodes After Connecting Trees I\", d: \"Medium\", s: \"maximize-the-number-of-target-nodes-after-connecting-trees-i\" },\n { n: 3373, t: \"Maximize the Number of Target Nodes After Connecting Trees II\", d: \"Hard\", s: \"maximize-the-number-of-target-nodes-after-connecting-trees-ii\" },\n { n: 3374, t: \"First Letter Capitalization II\", d: \"Hard\", s: \"first-letter-capitalization-ii\" },\n { n: 3375, t: \"Minimum Operations to Make Array Values Equal to K\", d: \"Easy\", s: \"minimum-operations-to-make-array-values-equal-to-k\" },\n { n: 3376, t: \"Minimum Time to Break Locks I\", d: \"Medium\", s: \"minimum-time-to-break-locks-i\" },\n { n: 3377, t: \"Digit Operations to Make Two Integers Equal\", d: \"Medium\", s: \"digit-operations-to-make-two-integers-equal\" },\n { n: 3378, t: \"Count Connected Components in LCM Graph\", d: \"Hard\", s: \"count-connected-components-in-lcm-graph\" },\n { n: 3379, t: \"Transformed Array\", d: \"Easy\", s: \"transformed-array\" },\n { n: 3380, t: \"Maximum Area Rectangle With Point Constraints I\", d: \"Medium\", s: \"maximum-area-rectangle-with-point-constraints-i\" },\n { n: 3381, t: \"Maximum Subarray Sum With Length Divisible by K\", d: \"Medium\", s: \"maximum-subarray-sum-with-length-divisible-by-k\" },\n { n: 3382, t: \"Maximum Area Rectangle With Point Constraints II\", d: \"Hard\", s: \"maximum-area-rectangle-with-point-constraints-ii\" },\n { n: 3383, t: \"Minimum Runes to Add to Cast Spell\", d: \"Hard\", s: \"minimum-runes-to-add-to-cast-spell\" },\n { n: 3384, t: \"Team Dominance by Pass Success\", d: \"Hard\", s: \"team-dominance-by-pass-success\" },\n { n: 3385, t: \"Minimum Time to Break Locks II\", d: \"Hard\", s: \"minimum-time-to-break-locks-ii\" },\n { n: 3386, t: \"Button with Longest Push Time\", d: \"Easy\", s: \"button-with-longest-push-time\" },\n { n: 3387, t: \"Maximize Amount After Two Days of Conversions\", d: \"Medium\", s: \"maximize-amount-after-two-days-of-conversions\" },\n { n: 3388, t: \"Count Beautiful Splits in an Array\", d: \"Medium\", s: \"count-beautiful-splits-in-an-array\" },\n { n: 3389, t: \"Minimum Operations to Make Character Frequencies Equal\", d: \"Hard\", s: \"minimum-operations-to-make-character-frequencies-equal\" },\n { n: 3390, t: \"Longest Team Pass Streak\", d: \"Hard\", s: \"longest-team-pass-streak\" },\n { n: 3391, t: \"Design a 3D Binary Matrix with Efficient Layer Tracking\", d: \"Medium\", s: \"design-a-3d-binary-matrix-with-efficient-layer-tracking\" },\n { n: 3392, t: \"Count Subarrays of Length Three With a Condition\", d: \"Easy\", s: \"count-subarrays-of-length-three-with-a-condition\" },\n { n: 3393, t: \"Count Paths With the Given XOR Value\", d: \"Medium\", s: \"count-paths-with-the-given-xor-value\" },\n { n: 3394, t: \"Check if Grid can be Cut into Sections\", d: \"Medium\", s: \"check-if-grid-can-be-cut-into-sections\" },\n { n: 3395, t: \"Subsequences with a Unique Middle Mode I\", d: \"Hard\", s: \"subsequences-with-a-unique-middle-mode-i\" },\n { n: 3396, t: \"Minimum Number of Operations to Make Elements in Array Distinct\", d: \"Easy\", s: \"minimum-number-of-operations-to-make-elements-in-array-distinct\" },\n { n: 3397, t: \"Maximum Number of Distinct Elements After Operations\", d: \"Medium\", s: \"maximum-number-of-distinct-elements-after-operations\" },\n { n: 3398, t: \"Smallest Substring With Identical Characters I\", d: \"Hard\", s: \"smallest-substring-with-identical-characters-i\" },\n { n: 3399, t: \"Smallest Substring With Identical Characters II\", d: \"Hard\", s: \"smallest-substring-with-identical-characters-ii\" },\n { n: 3400, t: \"Maximum Number of Matching Indices After Right Shifts\", d: \"Medium\", s: \"maximum-number-of-matching-indices-after-right-shifts\" },\n { n: 3401, t: \"Find Circular Gift Exchange Chains\", d: \"Hard\", s: \"find-circular-gift-exchange-chains\" },\n { n: 3402, t: \"Minimum Operations to Make Columns Strictly Increasing\", d: \"Easy\", s: \"minimum-operations-to-make-columns-strictly-increasing\" },\n { n: 3403, t: \"Find the Lexicographically Largest String From the Box I\", d: \"Medium\", s: \"find-the-lexicographically-largest-string-from-the-box-i\" },\n { n: 3404, t: \"Count Special Subsequences\", d: \"Medium\", s: \"count-special-subsequences\" },\n { n: 3405, t: \"Count the Number of Arrays with K Matching Adjacent Elements\", d: \"Hard\", s: \"count-the-number-of-arrays-with-k-matching-adjacent-elements\" },\n { n: 3406, t: \"Find the Lexicographically Largest String From the Box II\", d: \"Hard\", s: \"find-the-lexicographically-largest-string-from-the-box-ii\" },\n { n: 3407, t: \"Substring Matching Pattern\", d: \"Easy\", s: \"substring-matching-pattern\" },\n { n: 3408, t: \"Design Task Manager\", d: \"Medium\", s: \"design-task-manager\" },\n { n: 3409, t: \"Longest Subsequence With Decreasing Adjacent Difference\", d: \"Medium\", s: \"longest-subsequence-with-decreasing-adjacent-difference\" },\n { n: 3410, t: \"Maximize Subarray Sum After Removing All Occurrences of One Element\", d: \"Hard\", s: \"maximize-subarray-sum-after-removing-all-occurrences-of-one-element\" },\n { n: 3411, t: \"Maximum Subarray With Equal Products\", d: \"Easy\", s: \"maximum-subarray-with-equal-products\" },\n { n: 3412, t: \"Find Mirror Score of a String\", d: \"Medium\", s: \"find-mirror-score-of-a-string\" },\n { n: 3413, t: \"Maximum Coins From K Consecutive Bags\", d: \"Medium\", s: \"maximum-coins-from-k-consecutive-bags\" },\n { n: 3414, t: \"Maximum Score of Non-overlapping Intervals\", d: \"Hard\", s: \"maximum-score-of-non-overlapping-intervals\" },\n { n: 3415, t: \"Find Products with Three Consecutive Digits\", d: \"Easy\", s: \"find-products-with-three-consecutive-digits\" },\n { n: 3416, t: \"Subsequences with a Unique Middle Mode II\", d: \"Hard\", s: \"subsequences-with-a-unique-middle-mode-ii\" },\n { n: 3417, t: \"Zigzag Grid Traversal With Skip\", d: \"Easy\", s: \"zigzag-grid-traversal-with-skip\" },\n { n: 3418, t: \"Maximum Amount of Money Robot Can Earn\", d: \"Medium\", s: \"maximum-amount-of-money-robot-can-earn\" },\n { n: 3419, t: \"Minimize the Maximum Edge Weight of Graph\", d: \"Medium\", s: \"minimize-the-maximum-edge-weight-of-graph\" },\n { n: 3420, t: \"Count Non-Decreasing Subarrays After K Operations\", d: \"Hard\", s: \"count-non-decreasing-subarrays-after-k-operations\" },\n { n: 3421, t: \"Find Students Who Improved\", d: \"Medium\", s: \"find-students-who-improved\" },\n { n: 3422, t: \"Minimum Operations to Make Subarray Elements Equal\", d: \"Medium\", s: \"minimum-operations-to-make-subarray-elements-equal\" },\n { n: 3423, t: \"Maximum Difference Between Adjacent Elements in a Circular Array\", d: \"Easy\", s: \"maximum-difference-between-adjacent-elements-in-a-circular-array\" },\n { n: 3424, t: \"Minimum Cost to Make Arrays Identical\", d: \"Medium\", s: \"minimum-cost-to-make-arrays-identical\" },\n { n: 3425, t: \"Longest Special Path\", d: \"Hard\", s: \"longest-special-path\" },\n { n: 3426, t: \"Manhattan Distances of All Arrangements of Pieces\", d: \"Hard\", s: \"manhattan-distances-of-all-arrangements-of-pieces\" },\n { n: 3427, t: \"Sum of Variable Length Subarrays\", d: \"Easy\", s: \"sum-of-variable-length-subarrays\" },\n { n: 3428, t: \"Maximum and Minimum Sums of at Most Size K Subsequences\", d: \"Medium\", s: \"maximum-and-minimum-sums-of-at-most-size-k-subsequences\" },\n { n: 3429, t: \"Paint House IV\", d: \"Medium\", s: \"paint-house-iv\" },\n { n: 3430, t: \"Maximum and Minimum Sums of at Most Size K Subarrays\", d: \"Hard\", s: \"maximum-and-minimum-sums-of-at-most-size-k-subarrays\" },\n { n: 3431, t: \"Minimum Unlocked Indices to Sort Nums\", d: \"Medium\", s: \"minimum-unlocked-indices-to-sort-nums\" },\n { n: 3432, t: \"Count Partitions with Even Sum Difference\", d: \"Easy\", s: \"count-partitions-with-even-sum-difference\" },\n { n: 3433, t: \"Count Mentions Per User\", d: \"Medium\", s: \"count-mentions-per-user\" },\n { n: 3434, t: \"Maximum Frequency After Subarray Operation\", d: \"Medium\", s: \"maximum-frequency-after-subarray-operation\" },\n { n: 3435, t: \"Frequencies of Shortest Supersequences\", d: \"Hard\", s: \"frequencies-of-shortest-supersequences\" },\n { n: 3436, t: \"Find Valid Emails\", d: \"Easy\", s: \"find-valid-emails\" },\n { n: 3437, t: \"Permutations III\", d: \"Medium\", s: \"permutations-iii\" },\n { n: 3438, t: \"Find Valid Pair of Adjacent Digits in String\", d: \"Easy\", s: \"find-valid-pair-of-adjacent-digits-in-string\" },\n { n: 3439, t: \"Reschedule Meetings for Maximum Free Time I\", d: \"Medium\", s: \"reschedule-meetings-for-maximum-free-time-i\" },\n { n: 3440, t: \"Reschedule Meetings for Maximum Free Time II\", d: \"Medium\", s: \"reschedule-meetings-for-maximum-free-time-ii\" },\n { n: 3441, t: \"Minimum Cost Good Caption\", d: \"Hard\", s: \"minimum-cost-good-caption\" },\n { n: 3442, t: \"Maximum Difference Between Even and Odd Frequency I\", d: \"Easy\", s: \"maximum-difference-between-even-and-odd-frequency-i\" },\n { n: 3443, t: \"Maximum Manhattan Distance After K Changes\", d: \"Medium\", s: \"maximum-manhattan-distance-after-k-changes\" },\n { n: 3444, t: \"Minimum Increments for Target Multiples in an Array\", d: \"Hard\", s: \"minimum-increments-for-target-multiples-in-an-array\" },\n { n: 3445, t: \"Maximum Difference Between Even and Odd Frequency II\", d: \"Hard\", s: \"maximum-difference-between-even-and-odd-frequency-ii\" },\n { n: 3446, t: \"Sort Matrix by Diagonals\", d: \"Medium\", s: \"sort-matrix-by-diagonals\" },\n { n: 3447, t: \"Assign Elements to Groups with Constraints\", d: \"Medium\", s: \"assign-elements-to-groups-with-constraints\" },\n { n: 3448, t: \"Count Substrings Divisible By Last Digit\", d: \"Hard\", s: \"count-substrings-divisible-by-last-digit\" },\n { n: 3449, t: \"Maximize the Minimum Game Score\", d: \"Hard\", s: \"maximize-the-minimum-game-score\" },\n { n: 3450, t: \"Maximum Students on a Single Bench\", d: \"Easy\", s: \"maximum-students-on-a-single-bench\" },\n { n: 3451, t: \"Find Invalid IP Addresses\", d: \"Hard\", s: \"find-invalid-ip-addresses\" },\n { n: 3452, t: \"Sum of Good Numbers\", d: \"Easy\", s: \"sum-of-good-numbers\" },\n { n: 3453, t: \"Separate Squares I\", d: \"Medium\", s: \"separate-squares-i\" },\n { n: 3454, t: \"Separate Squares II\", d: \"Hard\", s: \"separate-squares-ii\" },\n { n: 3455, t: \"Shortest Matching Substring\", d: \"Hard\", s: \"shortest-matching-substring\" },\n { n: 3456, t: \"Find Special Substring of Length K\", d: \"Easy\", s: \"find-special-substring-of-length-k\" },\n { n: 3457, t: \"Eat Pizzas!\", d: \"Medium\", s: \"eat-pizzas\" },\n { n: 3458, t: \"Select K Disjoint Special Substrings\", d: \"Medium\", s: \"select-k-disjoint-special-substrings\" },\n { n: 3459, t: \"Length of Longest V-Shaped Diagonal Segment\", d: \"Hard\", s: \"length-of-longest-v-shaped-diagonal-segment\" },\n { n: 3460, t: \"Longest Common Prefix After at Most One Removal\", d: \"Medium\", s: \"longest-common-prefix-after-at-most-one-removal\" },\n { n: 3461, t: \"Check If Digits Are Equal in String After Operations I\", d: \"Easy\", s: \"check-if-digits-are-equal-in-string-after-operations-i\" },\n { n: 3462, t: \"Maximum Sum With at Most K Elements\", d: \"Medium\", s: \"maximum-sum-with-at-most-k-elements\" },\n { n: 3463, t: \"Check If Digits Are Equal in String After Operations II\", d: \"Hard\", s: \"check-if-digits-are-equal-in-string-after-operations-ii\" },\n { n: 3464, t: \"Maximize the Distance Between Points on a Square\", d: \"Hard\", s: \"maximize-the-distance-between-points-on-a-square\" },\n { n: 3465, t: \"Find Products with Valid Serial Numbers\", d: \"Easy\", s: \"find-products-with-valid-serial-numbers\" },\n { n: 3466, t: \"Maximum Coin Collection\", d: \"Medium\", s: \"maximum-coin-collection\" },\n { n: 3467, t: \"Transform Array by Parity\", d: \"Easy\", s: \"transform-array-by-parity\" },\n { n: 3468, t: \"Find the Number of Copy Arrays\", d: \"Medium\", s: \"find-the-number-of-copy-arrays\" },\n { n: 3469, t: \"Find Minimum Cost to Remove Array Elements\", d: \"Medium\", s: \"find-minimum-cost-to-remove-array-elements\" },\n { n: 3470, t: \"Permutations IV\", d: \"Hard\", s: \"permutations-iv\" },\n { n: 3471, t: \"Find the Largest Almost Missing Integer\", d: \"Easy\", s: \"find-the-largest-almost-missing-integer\" },\n { n: 3472, t: \"Longest Palindromic Subsequence After at Most K Operations\", d: \"Medium\", s: \"longest-palindromic-subsequence-after-at-most-k-operations\" },\n { n: 3473, t: \"Sum of K Subarrays With Length at Least M\", d: \"Medium\", s: \"sum-of-k-subarrays-with-length-at-least-m\" },\n { n: 3474, t: \"Lexicographically Smallest Generated String\", d: \"Hard\", s: \"lexicographically-smallest-generated-string\" },\n { n: 3475, t: \"DNA Pattern Recognition\", d: \"Medium\", s: \"dna-pattern-recognition\" },\n { n: 3476, t: \"Maximize Profit from Task Assignment\", d: \"Medium\", s: \"maximize-profit-from-task-assignment\" },\n { n: 3477, t: \"Fruits Into Baskets II\", d: \"Easy\", s: \"fruits-into-baskets-ii\" },\n { n: 3478, t: \"Choose K Elements With Maximum Sum\", d: \"Medium\", s: \"choose-k-elements-with-maximum-sum\" },\n { n: 3479, t: \"Fruits Into Baskets III\", d: \"Medium\", s: \"fruits-into-baskets-iii\" },\n { n: 3480, t: \"Maximize Subarrays After Removing One Conflicting Pair\", d: \"Hard\", s: \"maximize-subarrays-after-removing-one-conflicting-pair\" },\n { n: 3481, t: \"Apply Substitutions\", d: \"Medium\", s: \"apply-substitutions\" },\n { n: 3482, t: \"Analyze Organization Hierarchy\", d: \"Hard\", s: \"analyze-organization-hierarchy\" },\n { n: 3483, t: \"Unique 3-Digit Even Numbers\", d: \"Easy\", s: \"unique-3-digit-even-numbers\" },\n { n: 3484, t: \"Design Spreadsheet\", d: \"Medium\", s: \"design-spreadsheet\" },\n { n: 3485, t: \"Longest Common Prefix of K Strings After Removal\", d: \"Hard\", s: \"longest-common-prefix-of-k-strings-after-removal\" },\n { n: 3486, t: \"Longest Special Path II\", d: \"Hard\", s: \"longest-special-path-ii\" },\n { n: 3487, t: \"Maximum Unique Subarray Sum After Deletion\", d: \"Easy\", s: \"maximum-unique-subarray-sum-after-deletion\" },\n { n: 3488, t: \"Closest Equal Element Queries\", d: \"Medium\", s: \"closest-equal-element-queries\" },\n { n: 3489, t: \"Zero Array Transformation IV\", d: \"Medium\", s: \"zero-array-transformation-iv\" },\n { n: 3490, t: \"Count Beautiful Numbers\", d: \"Hard\", s: \"count-beautiful-numbers\" },\n { n: 3491, t: \"Phone Number Prefix\", d: \"Easy\", s: \"phone-number-prefix\" },\n { n: 3492, t: \"Maximum Containers on a Ship\", d: \"Easy\", s: \"maximum-containers-on-a-ship\" },\n { n: 3493, t: \"Properties Graph\", d: \"Medium\", s: \"properties-graph\" },\n { n: 3494, t: \"Find the Minimum Amount of Time to Brew Potions\", d: \"Medium\", s: \"find-the-minimum-amount-of-time-to-brew-potions\" },\n { n: 3495, t: \"Minimum Operations to Make Array Elements Zero\", d: \"Hard\", s: \"minimum-operations-to-make-array-elements-zero\" },\n { n: 3496, t: \"Maximize Score After Pair Deletions\", d: \"Medium\", s: \"maximize-score-after-pair-deletions\" },\n { n: 3497, t: \"Analyze Subscription Conversion\", d: \"Medium\", s: \"analyze-subscription-conversion\" },\n { n: 3498, t: \"Reverse Degree of a String\", d: \"Easy\", s: \"reverse-degree-of-a-string\" },\n { n: 3499, t: \"Maximize Active Section with Trade I\", d: \"Medium\", s: \"maximize-active-section-with-trade-i\" },\n { n: 3500, t: \"Minimum Cost to Divide Array Into Subarrays\", d: \"Hard\", s: \"minimum-cost-to-divide-array-into-subarrays\" },\n { n: 3501, t: \"Maximize Active Section with Trade II\", d: \"Hard\", s: \"maximize-active-section-with-trade-ii\" },\n { n: 3502, t: \"Minimum Cost to Reach Every Position\", d: \"Easy\", s: \"minimum-cost-to-reach-every-position\" },\n { n: 3503, t: \"Longest Palindrome After Substring Concatenation I\", d: \"Medium\", s: \"longest-palindrome-after-substring-concatenation-i\" },\n { n: 3504, t: \"Longest Palindrome After Substring Concatenation II\", d: \"Hard\", s: \"longest-palindrome-after-substring-concatenation-ii\" },\n { n: 3505, t: \"Minimum Operations to Make Elements Within K Subarrays Equal\", d: \"Hard\", s: \"minimum-operations-to-make-elements-within-k-subarrays-equal\" },\n { n: 3506, t: \"Find Time Required to Eliminate Bacterial Strains\", d: \"Hard\", s: \"find-time-required-to-eliminate-bacterial-strains\" },\n { n: 3507, t: \"Minimum Pair Removal to Sort Array I\", d: \"Easy\", s: \"minimum-pair-removal-to-sort-array-i\" },\n { n: 3508, t: \"Implement Router\", d: \"Medium\", s: \"implement-router\" },\n { n: 3509, t: \"Maximum Product of Subsequences With an Alternating Sum Equal to K\", d: \"Hard\", s: \"maximum-product-of-subsequences-with-an-alternating-sum-equal-to-k\" },\n { n: 3510, t: \"Minimum Pair Removal to Sort Array II\", d: \"Hard\", s: \"minimum-pair-removal-to-sort-array-ii\" },\n { n: 3511, t: \"Make a Positive Array\", d: \"Medium\", s: \"make-a-positive-array\" },\n { n: 3512, t: \"Minimum Operations to Make Array Sum Divisible by K\", d: \"Easy\", s: \"minimum-operations-to-make-array-sum-divisible-by-k\" },\n { n: 3513, t: \"Number of Unique XOR Triplets I\", d: \"Medium\", s: \"number-of-unique-xor-triplets-i\" },\n { n: 3514, t: \"Number of Unique XOR Triplets II\", d: \"Medium\", s: \"number-of-unique-xor-triplets-ii\" },\n { n: 3515, t: \"Shortest Path in a Weighted Tree\", d: \"Hard\", s: \"shortest-path-in-a-weighted-tree\" },\n { n: 3516, t: \"Find Closest Person\", d: \"Easy\", s: \"find-closest-person\" },\n { n: 3517, t: \"Smallest Palindromic Rearrangement I\", d: \"Medium\", s: \"smallest-palindromic-rearrangement-i\" },\n { n: 3518, t: \"Smallest Palindromic Rearrangement II\", d: \"Hard\", s: \"smallest-palindromic-rearrangement-ii\" },\n { n: 3519, t: \"Count Numbers with Non-Decreasing Digits\", d: \"Hard\", s: \"count-numbers-with-non-decreasing-digits\" },\n { n: 3520, t: \"Minimum Threshold for Inversion Pairs Count\", d: \"Medium\", s: \"minimum-threshold-for-inversion-pairs-count\" },\n { n: 3521, t: \"Find Product Recommendation Pairs\", d: \"Medium\", s: \"find-product-recommendation-pairs\" },\n { n: 3522, t: \"Calculate Score After Performing Instructions\", d: \"Medium\", s: \"calculate-score-after-performing-instructions\" },\n { n: 3523, t: \"Make Array Non-decreasing\", d: \"Medium\", s: \"make-array-non-decreasing\" },\n { n: 3524, t: \"Find X Value of Array I\", d: \"Medium\", s: \"find-x-value-of-array-i\" },\n { n: 3525, t: \"Find X Value of Array II\", d: \"Hard\", s: \"find-x-value-of-array-ii\" },\n { n: 3526, t: \"Range XOR Queries with Subarray Reversals\", d: \"Hard\", s: \"range-xor-queries-with-subarray-reversals\" },\n { n: 3527, t: \"Find the Most Common Response\", d: \"Medium\", s: \"find-the-most-common-response\" },\n { n: 3528, t: \"Unit Conversion I\", d: \"Medium\", s: \"unit-conversion-i\" },\n { n: 3529, t: \"Count Cells in Overlapping Horizontal and Vertical Substrings\", d: \"Medium\", s: \"count-cells-in-overlapping-horizontal-and-vertical-substrings\" },\n { n: 3530, t: \"Maximum Profit from Valid Topological Order in DAG\", d: \"Hard\", s: \"maximum-profit-from-valid-topological-order-in-dag\" },\n { n: 3531, t: \"Count Covered Buildings\", d: \"Medium\", s: \"count-covered-buildings\" },\n { n: 3532, t: \"Path Existence Queries in a Graph I\", d: \"Medium\", s: \"path-existence-queries-in-a-graph-i\" },\n { n: 3533, t: \"Concatenated Divisibility\", d: \"Hard\", s: \"concatenated-divisibility\" },\n { n: 3534, t: \"Path Existence Queries in a Graph II\", d: \"Hard\", s: \"path-existence-queries-in-a-graph-ii\" },\n { n: 3535, t: \"Unit Conversion II\", d: \"Medium\", s: \"unit-conversion-ii\" },\n { n: 3536, t: \"Maximum Product of Two Digits\", d: \"Easy\", s: \"maximum-product-of-two-digits\" },\n { n: 3537, t: \"Fill a Special Grid\", d: \"Medium\", s: \"fill-a-special-grid\" },\n { n: 3538, t: \"Merge Operations for Minimum Travel Time\", d: \"Hard\", s: \"merge-operations-for-minimum-travel-time\" },\n { n: 3539, t: \"Find Sum of Array Product of Magical Sequences\", d: \"Hard\", s: \"find-sum-of-array-product-of-magical-sequences\" },\n { n: 3540, t: \"Minimum Time to Visit All Houses\", d: \"Medium\", s: \"minimum-time-to-visit-all-houses\" },\n { n: 3541, t: \"Find Most Frequent Vowel and Consonant\", d: \"Easy\", s: \"find-most-frequent-vowel-and-consonant\" },\n { n: 3542, t: \"Minimum Operations to Convert All Elements to Zero\", d: \"Medium\", s: \"minimum-operations-to-convert-all-elements-to-zero\" },\n { n: 3543, t: \"Maximum Weighted K-Edge Path\", d: \"Medium\", s: \"maximum-weighted-k-edge-path\" },\n { n: 3544, t: \"Subtree Inversion Sum\", d: \"Hard\", s: \"subtree-inversion-sum\" },\n { n: 3545, t: \"Minimum Deletions for At Most K Distinct Characters\", d: \"Easy\", s: \"minimum-deletions-for-at-most-k-distinct-characters\" },\n { n: 3546, t: \"Equal Sum Grid Partition I\", d: \"Medium\", s: \"equal-sum-grid-partition-i\" },\n { n: 3547, t: \"Maximum Sum of Edge Values in a Graph\", d: \"Hard\", s: \"maximum-sum-of-edge-values-in-a-graph\" },\n { n: 3548, t: \"Equal Sum Grid Partition II\", d: \"Hard\", s: \"equal-sum-grid-partition-ii\" },\n { n: 3549, t: \"Multiply Two Polynomials\", d: \"Hard\", s: \"multiply-two-polynomials\" },\n { n: 3550, t: \"Smallest Index With Digit Sum Equal to Index\", d: \"Easy\", s: \"smallest-index-with-digit-sum-equal-to-index\" },\n { n: 3551, t: \"Minimum Swaps to Sort by Digit Sum\", d: \"Medium\", s: \"minimum-swaps-to-sort-by-digit-sum\" },\n { n: 3552, t: \"Grid Teleportation Traversal\", d: \"Medium\", s: \"grid-teleportation-traversal\" },\n { n: 3553, t: \"Minimum Weighted Subgraph With the Required Paths II\", d: \"Hard\", s: \"minimum-weighted-subgraph-with-the-required-paths-ii\" },\n { n: 3554, t: \"Find Category Recommendation Pairs\", d: \"Hard\", s: \"find-category-recommendation-pairs\" },\n { n: 3555, t: \"Smallest Subarray to Sort in Every Sliding Window\", d: \"Medium\", s: \"smallest-subarray-to-sort-in-every-sliding-window\" },\n { n: 3556, t: \"Sum of Largest Prime Substrings\", d: \"Medium\", s: \"sum-of-largest-prime-substrings\" },\n { n: 3557, t: \"Find Maximum Number of Non Intersecting Substrings\", d: \"Medium\", s: \"find-maximum-number-of-non-intersecting-substrings\" },\n { n: 3558, t: \"Number of Ways to Assign Edge Weights I\", d: \"Medium\", s: \"number-of-ways-to-assign-edge-weights-i\" },\n { n: 3559, t: \"Number of Ways to Assign Edge Weights II\", d: \"Hard\", s: \"number-of-ways-to-assign-edge-weights-ii\" },\n { n: 3560, t: \"Find Minimum Log Transportation Cost\", d: \"Easy\", s: \"find-minimum-log-transportation-cost\" },\n { n: 3561, t: \"Resulting String After Adjacent Removals\", d: \"Medium\", s: \"resulting-string-after-adjacent-removals\" },\n { n: 3562, t: \"Maximum Profit from Trading Stocks with Discounts\", d: \"Hard\", s: \"maximum-profit-from-trading-stocks-with-discounts\" },\n { n: 3563, t: \"Lexicographically Smallest String After Adjacent Removals\", d: \"Hard\", s: \"lexicographically-smallest-string-after-adjacent-removals\" },\n { n: 3564, t: \"Seasonal Sales Analysis\", d: \"Medium\", s: \"seasonal-sales-analysis\" },\n { n: 3565, t: \"Sequential Grid Path Cover\", d: \"Medium\", s: \"sequential-grid-path-cover\" },\n { n: 3566, t: \"Partition Array into Two Equal Product Subsets\", d: \"Medium\", s: \"partition-array-into-two-equal-product-subsets\" },\n { n: 3567, t: \"Minimum Absolute Difference in Sliding Submatrix\", d: \"Medium\", s: \"minimum-absolute-difference-in-sliding-submatrix\" },\n { n: 3568, t: \"Minimum Moves to Clean the Classroom\", d: \"Medium\", s: \"minimum-moves-to-clean-the-classroom\" },\n { n: 3569, t: \"Maximize Count of Distinct Primes After Split\", d: \"Hard\", s: \"maximize-count-of-distinct-primes-after-split\" },\n { n: 3570, t: \"Find Books with No Available Copies\", d: \"Easy\", s: \"find-books-with-no-available-copies\" },\n { n: 3571, t: \"Find the Shortest Superstring II\", d: \"Easy\", s: \"find-the-shortest-superstring-ii\" },\n { n: 3572, t: \"Maximize Y‑Sum by Picking a Triplet of Distinct X‑Values\", d: \"Medium\", s: \"maximize-ysum-by-picking-a-triplet-of-distinct-xvalues\" },\n { n: 3573, t: \"Best Time to Buy and Sell Stock V\", d: \"Medium\", s: \"best-time-to-buy-and-sell-stock-v\" },\n { n: 3574, t: \"Maximize Subarray GCD Score\", d: \"Hard\", s: \"maximize-subarray-gcd-score\" },\n { n: 3575, t: \"Maximum Good Subtree Score\", d: \"Hard\", s: \"maximum-good-subtree-score\" },\n { n: 3576, t: \"Transform Array to All Equal Elements\", d: \"Medium\", s: \"transform-array-to-all-equal-elements\" },\n { n: 3577, t: \"Count the Number of Computer Unlocking Permutations\", d: \"Medium\", s: \"count-the-number-of-computer-unlocking-permutations\" },\n { n: 3578, t: \"Count Partitions With Max-Min Difference at Most K\", d: \"Medium\", s: \"count-partitions-with-max-min-difference-at-most-k\" },\n { n: 3579, t: \"Minimum Steps to Convert String with Operations\", d: \"Hard\", s: \"minimum-steps-to-convert-string-with-operations\" },\n { n: 3580, t: \"Find Consistently Improving Employees\", d: \"Medium\", s: \"find-consistently-improving-employees\" },\n { n: 3581, t: \"Count Odd Letters from Number\", d: \"Easy\", s: \"count-odd-letters-from-number\" },\n { n: 3582, t: \"Generate Tag for Video Caption\", d: \"Easy\", s: \"generate-tag-for-video-caption\" },\n { n: 3583, t: \"Count Special Triplets\", d: \"Medium\", s: \"count-special-triplets\" },\n { n: 3584, t: \"Maximum Product of First and Last Elements of a Subsequence\", d: \"Medium\", s: \"maximum-product-of-first-and-last-elements-of-a-subsequence\" },\n { n: 3585, t: \"Find Weighted Median Node in Tree\", d: \"Hard\", s: \"find-weighted-median-node-in-tree\" },\n { n: 3586, t: \"Find COVID Recovery Patients\", d: \"Medium\", s: \"find-covid-recovery-patients\" },\n { n: 3587, t: \"Minimum Adjacent Swaps to Alternate Parity\", d: \"Medium\", s: \"minimum-adjacent-swaps-to-alternate-parity\" },\n { n: 3588, t: \"Find Maximum Area of a Triangle\", d: \"Medium\", s: \"find-maximum-area-of-a-triangle\" },\n { n: 3589, t: \"Count Prime-Gap Balanced Subarrays\", d: \"Medium\", s: \"count-prime-gap-balanced-subarrays\" },\n { n: 3590, t: \"Kth Smallest Path XOR Sum\", d: \"Hard\", s: \"kth-smallest-path-xor-sum\" },\n { n: 3591, t: \"Check if Any Element Has Prime Frequency\", d: \"Easy\", s: \"check-if-any-element-has-prime-frequency\" },\n { n: 3592, t: \"Inverse Coin Change\", d: \"Medium\", s: \"inverse-coin-change\" },\n { n: 3593, t: \"Minimum Increments to Equalize Leaf Paths\", d: \"Medium\", s: \"minimum-increments-to-equalize-leaf-paths\" },\n { n: 3594, t: \"Minimum Time to Transport All Individuals\", d: \"Hard\", s: \"minimum-time-to-transport-all-individuals\" },\n { n: 3595, t: \"Once Twice\", d: \"Medium\", s: \"once-twice\" },\n { n: 3596, t: \"Minimum Cost Path with Alternating Directions I\", d: \"Medium\", s: \"minimum-cost-path-with-alternating-directions-i\" },\n { n: 3597, t: \"Partition String\", d: \"Medium\", s: \"partition-string\" },\n { n: 3598, t: \"Longest Common Prefix Between Adjacent Strings After Removals\", d: \"Medium\", s: \"longest-common-prefix-between-adjacent-strings-after-removals\" },\n { n: 3599, t: \"Partition Array to Minimize XOR\", d: \"Medium\", s: \"partition-array-to-minimize-xor\" },\n { n: 3600, t: \"Maximize Spanning Tree Stability with Upgrades\", d: \"Hard\", s: \"maximize-spanning-tree-stability-with-upgrades\" },\n { n: 3601, t: \"Find Drivers with Improved Fuel Efficiency\", d: \"Medium\", s: \"find-drivers-with-improved-fuel-efficiency\" },\n { n: 3602, t: \"Hexadecimal and Hexatrigesimal Conversion\", d: \"Easy\", s: \"hexadecimal-and-hexatrigesimal-conversion\" },\n { n: 3603, t: \"Minimum Cost Path with Alternating Directions II\", d: \"Medium\", s: \"minimum-cost-path-with-alternating-directions-ii\" },\n { n: 3604, t: \"Minimum Time to Reach Destination in Directed Graph\", d: \"Medium\", s: \"minimum-time-to-reach-destination-in-directed-graph\" },\n { n: 3605, t: \"Minimum Stability Factor of Array\", d: \"Hard\", s: \"minimum-stability-factor-of-array\" },\n { n: 3606, t: \"Coupon Code Validator\", d: \"Easy\", s: \"coupon-code-validator\" },\n { n: 3607, t: \"Power Grid Maintenance\", d: \"Medium\", s: \"power-grid-maintenance\" },\n { n: 3608, t: \"Minimum Time for K Connected Components\", d: \"Medium\", s: \"minimum-time-for-k-connected-components\" },\n { n: 3609, t: \"Minimum Moves to Reach Target in Grid\", d: \"Hard\", s: \"minimum-moves-to-reach-target-in-grid\" },\n { n: 3610, t: \"Minimum Number of Primes to Sum to Target\", d: \"Medium\", s: \"minimum-number-of-primes-to-sum-to-target\" },\n { n: 3611, t: \"Find Overbooked Employees\", d: \"Medium\", s: \"find-overbooked-employees\" },\n { n: 3612, t: \"Process String with Special Operations I\", d: \"Medium\", s: \"process-string-with-special-operations-i\" },\n { n: 3613, t: \"Minimize Maximum Component Cost\", d: \"Medium\", s: \"minimize-maximum-component-cost\" },\n { n: 3614, t: \"Process String with Special Operations II\", d: \"Hard\", s: \"process-string-with-special-operations-ii\" },\n { n: 3615, t: \"Longest Palindromic Path in Graph\", d: \"Hard\", s: \"longest-palindromic-path-in-graph\" },\n { n: 3616, t: \"Number of Student Replacements\", d: \"Medium\", s: \"number-of-student-replacements\" },\n { n: 3617, t: \"Find Students with Study Spiral Pattern\", d: \"Hard\", s: \"find-students-with-study-spiral-pattern\" },\n { n: 3618, t: \"Split Array by Prime Indices\", d: \"Medium\", s: \"split-array-by-prime-indices\" },\n { n: 3619, t: \"Count Islands With Total Value Divisible by K\", d: \"Medium\", s: \"count-islands-with-total-value-divisible-by-k\" },\n { n: 3620, t: \"Network Recovery Pathways\", d: \"Hard\", s: \"network-recovery-pathways\" },\n { n: 3621, t: \"Number of Integers With Popcount-Depth Equal to K I\", d: \"Hard\", s: \"number-of-integers-with-popcount-depth-equal-to-k-i\" },\n { n: 3622, t: \"Check Divisibility by Digit Sum and Product\", d: \"Easy\", s: \"check-divisibility-by-digit-sum-and-product\" },\n { n: 3623, t: \"Count Number of Trapezoids I\", d: \"Medium\", s: \"count-number-of-trapezoids-i\" },\n { n: 3624, t: \"Number of Integers With Popcount-Depth Equal to K II\", d: \"Hard\", s: \"number-of-integers-with-popcount-depth-equal-to-k-ii\" },\n { n: 3625, t: \"Count Number of Trapezoids II\", d: \"Hard\", s: \"count-number-of-trapezoids-ii\" },\n { n: 3626, t: \"Find Stores with Inventory Imbalance\", d: \"Medium\", s: \"find-stores-with-inventory-imbalance\" },\n { n: 3627, t: \"Maximum Median Sum of Subsequences of Size 3\", d: \"Medium\", s: \"maximum-median-sum-of-subsequences-of-size-3\" },\n { n: 3628, t: \"Maximum Number of Subsequences After One Inserting\", d: \"Medium\", s: \"maximum-number-of-subsequences-after-one-inserting\" },\n { n: 3629, t: \"Minimum Jumps to Reach End via Prime Teleportation\", d: \"Medium\", s: \"minimum-jumps-to-reach-end-via-prime-teleportation\" },\n { n: 3630, t: \"Partition Array for Maximum XOR and AND\", d: \"Hard\", s: \"partition-array-for-maximum-xor-and-and\" },\n { n: 3631, t: \"Sort Threats by Severity and Exploitability\", d: \"Medium\", s: \"sort-threats-by-severity-and-exploitability\" },\n { n: 3632, t: \"Subarrays with XOR at Least K\", d: \"Hard\", s: \"subarrays-with-xor-at-least-k\" },\n { n: 3633, t: \"Earliest Finish Time for Land and Water Rides I\", d: \"Easy\", s: \"earliest-finish-time-for-land-and-water-rides-i\" },\n { n: 3634, t: \"Minimum Removals to Balance Array\", d: \"Medium\", s: \"minimum-removals-to-balance-array\" },\n { n: 3635, t: \"Earliest Finish Time for Land and Water Rides II\", d: \"Medium\", s: \"earliest-finish-time-for-land-and-water-rides-ii\" },\n { n: 3636, t: \"Threshold Majority Queries\", d: \"Hard\", s: \"threshold-majority-queries\" },\n { n: 3637, t: \"Trionic Array I\", d: \"Easy\", s: \"trionic-array-i\" },\n { n: 3638, t: \"Maximum Balanced Shipments\", d: \"Medium\", s: \"maximum-balanced-shipments\" },\n { n: 3639, t: \"Minimum Time to Activate String\", d: \"Medium\", s: \"minimum-time-to-activate-string\" },\n { n: 3640, t: \"Trionic Array II\", d: \"Hard\", s: \"trionic-array-ii\" },\n { n: 3641, t: \"Longest Semi-Repeating Subarray\", d: \"Medium\", s: \"longest-semi-repeating-subarray\" },\n { n: 3642, t: \"Find Books with Polarized Opinions\", d: \"Medium\", s: \"find-books-with-polarized-opinions\" },\n { n: 3643, t: \"Flip Square Submatrix Vertically\", d: \"Easy\", s: \"flip-square-submatrix-vertically\" },\n { n: 3644, t: \"Maximum K to Sort a Permutation\", d: \"Medium\", s: \"maximum-k-to-sort-a-permutation\" },\n { n: 3645, t: \"Maximum Total from Optimal Activation Order\", d: \"Medium\", s: \"maximum-total-from-optimal-activation-order\" },\n { n: 3646, t: \"Next Special Palindrome Number\", d: \"Hard\", s: \"next-special-palindrome-number\" },\n { n: 3647, t: \"Maximum Weight in Two Bags\", d: \"Medium\", s: \"maximum-weight-in-two-bags\" },\n { n: 3648, t: \"Minimum Sensors to Cover Grid\", d: \"Medium\", s: \"minimum-sensors-to-cover-grid\" },\n { n: 3649, t: \"Number of Perfect Pairs\", d: \"Medium\", s: \"number-of-perfect-pairs\" },\n { n: 3650, t: \"Minimum Cost Path with Edge Reversals\", d: \"Medium\", s: \"minimum-cost-path-with-edge-reversals\" },\n { n: 3651, t: \"Minimum Cost Path with Teleportations\", d: \"Hard\", s: \"minimum-cost-path-with-teleportations\" },\n { n: 3652, t: \"Best Time to Buy and Sell Stock using Strategy\", d: \"Medium\", s: \"best-time-to-buy-and-sell-stock-using-strategy\" },\n { n: 3653, t: \"XOR After Range Multiplication Queries I\", d: \"Medium\", s: \"xor-after-range-multiplication-queries-i\" },\n { n: 3654, t: \"Minimum Sum After Divisible Sum Deletions\", d: \"Medium\", s: \"minimum-sum-after-divisible-sum-deletions\" },\n { n: 3655, t: \"XOR After Range Multiplication Queries II\", d: \"Hard\", s: \"xor-after-range-multiplication-queries-ii\" },\n { n: 3656, t: \"Determine if a Simple Graph Exists\", d: \"Medium\", s: \"determine-if-a-simple-graph-exists\" },\n { n: 3657, t: \"Find Loyal Customers\", d: \"Medium\", s: \"find-loyal-customers\" },\n { n: 3658, t: \"GCD of Odd and Even Sums\", d: \"Easy\", s: \"gcd-of-odd-and-even-sums\" },\n { n: 3659, t: \"Partition Array Into K-Distinct Groups\", d: \"Medium\", s: \"partition-array-into-k-distinct-groups\" },\n { n: 3660, t: \"Jump Game IX\", d: \"Medium\", s: \"jump-game-ix\" },\n { n: 3661, t: \"Maximum Walls Destroyed by Robots\", d: \"Hard\", s: \"maximum-walls-destroyed-by-robots\" },\n { n: 3662, t: \"Filter Characters by Frequency\", d: \"Easy\", s: \"filter-characters-by-frequency\" },\n { n: 3663, t: \"Find The Least Frequent Digit\", d: \"Easy\", s: \"find-the-least-frequent-digit\" },\n { n: 3664, t: \"Two-Letter Card Game\", d: \"Medium\", s: \"two-letter-card-game\" },\n { n: 3665, t: \"Twisted Mirror Path Count\", d: \"Medium\", s: \"twisted-mirror-path-count\" },\n { n: 3666, t: \"Minimum Operations to Equalize Binary String\", d: \"Hard\", s: \"minimum-operations-to-equalize-binary-string\" },\n { n: 3667, t: \"Sort Array By Absolute Value\", d: \"Easy\", s: \"sort-array-by-absolute-value\" },\n { n: 3668, t: \"Restore Finishing Order\", d: \"Easy\", s: \"restore-finishing-order\" },\n { n: 3669, t: \"Balanced K-Factor Decomposition\", d: \"Medium\", s: \"balanced-k-factor-decomposition\" },\n { n: 3670, t: \"Maximum Product of Two Integers With No Common Bits\", d: \"Medium\", s: \"maximum-product-of-two-integers-with-no-common-bits\" },\n { n: 3671, t: \"Sum of Beautiful Subsequences\", d: \"Hard\", s: \"sum-of-beautiful-subsequences\" },\n { n: 3672, t: \"Sum of Weighted Modes in Subarrays\", d: \"Medium\", s: \"sum-of-weighted-modes-in-subarrays\" },\n { n: 3673, t: \"Find Zombie Sessions\", d: \"Hard\", s: \"find-zombie-sessions\" },\n { n: 3674, t: \"Minimum Operations to Equalize Array\", d: \"Easy\", s: \"minimum-operations-to-equalize-array\" },\n { n: 3675, t: \"Minimum Operations to Transform String\", d: \"Medium\", s: \"minimum-operations-to-transform-string\" },\n { n: 3676, t: \"Count Bowl Subarrays\", d: \"Medium\", s: \"count-bowl-subarrays\" },\n { n: 3677, t: \"Count Binary Palindromic Numbers\", d: \"Hard\", s: \"count-binary-palindromic-numbers\" },\n { n: 3678, t: \"Smallest Absent Positive Greater Than Average\", d: \"Easy\", s: \"smallest-absent-positive-greater-than-average\" },\n { n: 3679, t: \"Minimum Discards to Balance Inventory\", d: \"Medium\", s: \"minimum-discards-to-balance-inventory\" },\n { n: 3680, t: \"Generate Schedule\", d: \"Medium\", s: \"generate-schedule\" },\n { n: 3681, t: \"Maximum XOR of Subsequences\", d: \"Hard\", s: \"maximum-xor-of-subsequences\" },\n { n: 3682, t: \"Minimum Index Sum of Common Elements\", d: \"Medium\", s: \"minimum-index-sum-of-common-elements\" },\n { n: 3683, t: \"Earliest Time to Finish One Task\", d: \"Easy\", s: \"earliest-time-to-finish-one-task\" },\n { n: 3684, t: \"Maximize Sum of At Most K Distinct Elements\", d: \"Easy\", s: \"maximize-sum-of-at-most-k-distinct-elements\" },\n { n: 3685, t: \"Subsequence Sum After Capping Elements\", d: \"Medium\", s: \"subsequence-sum-after-capping-elements\" },\n { n: 3686, t: \"Number of Stable Subsequences\", d: \"Hard\", s: \"number-of-stable-subsequences\" },\n { n: 3687, t: \"Library Late Fee Calculator\", d: \"Easy\", s: \"library-late-fee-calculator\" },\n { n: 3688, t: \"Bitwise OR of Even Numbers in an Array\", d: \"Easy\", s: \"bitwise-or-of-even-numbers-in-an-array\" },\n { n: 3689, t: \"Maximum Total Subarray Value I\", d: \"Medium\", s: \"maximum-total-subarray-value-i\" },\n { n: 3690, t: \"Split and Merge Array Transformation\", d: \"Medium\", s: \"split-and-merge-array-transformation\" },\n { n: 3691, t: \"Maximum Total Subarray Value II\", d: \"Hard\", s: \"maximum-total-subarray-value-ii\" },\n { n: 3692, t: \"Majority Frequency Characters\", d: \"Easy\", s: \"majority-frequency-characters\" },\n { n: 3693, t: \"Climbing Stairs II\", d: \"Medium\", s: \"climbing-stairs-ii\" },\n { n: 3694, t: \"Distinct Points Reachable After Substring Removal\", d: \"Medium\", s: \"distinct-points-reachable-after-substring-removal\" },\n { n: 3695, t: \"Maximize Alternating Sum Using Swaps\", d: \"Hard\", s: \"maximize-alternating-sum-using-swaps\" },\n { n: 3696, t: \"Maximum Distance Between Unequal Words in Array I\", d: \"Easy\", s: \"maximum-distance-between-unequal-words-in-array-i\" },\n { n: 3697, t: \"Compute Decimal Representation\", d: \"Easy\", s: \"compute-decimal-representation\" },\n { n: 3698, t: \"Split Array With Minimum Difference\", d: \"Medium\", s: \"split-array-with-minimum-difference\" },\n { n: 3699, t: \"Number of ZigZag Arrays I\", d: \"Hard\", s: \"number-of-zigzag-arrays-i\" },\n { n: 3700, t: \"Number of ZigZag Arrays II\", d: \"Hard\", s: \"number-of-zigzag-arrays-ii\" },\n { n: 3701, t: \"Compute Alternating Sum\", d: \"Easy\", s: \"compute-alternating-sum\" },\n { n: 3702, t: \"Longest Subsequence With Non-Zero Bitwise XOR\", d: \"Medium\", s: \"longest-subsequence-with-non-zero-bitwise-xor\" },\n { n: 3703, t: \"Remove K-Balanced Substrings\", d: \"Medium\", s: \"remove-k-balanced-substrings\" },\n { n: 3704, t: \"Count No-Zero Pairs That Sum to N\", d: \"Hard\", s: \"count-no-zero-pairs-that-sum-to-n\" },\n { n: 3705, t: \"Find Golden Hour Customers\", d: \"Medium\", s: \"find-golden-hour-customers\" },\n { n: 3706, t: \"Maximum Distance Between Unequal Words in Array II\", d: \"Medium\", s: \"maximum-distance-between-unequal-words-in-array-ii\" },\n { n: 3707, t: \"Equal Score Substrings\", d: \"Easy\", s: \"equal-score-substrings\" },\n { n: 3708, t: \"Longest Fibonacci Subarray\", d: \"Medium\", s: \"longest-fibonacci-subarray\" },\n { n: 3709, t: \"Design Exam Scores Tracker\", d: \"Medium\", s: \"design-exam-scores-tracker\" },\n { n: 3710, t: \"Maximum Partition Factor\", d: \"Hard\", s: \"maximum-partition-factor\" },\n { n: 3711, t: \"Maximum Transactions Without Negative Balance\", d: \"Medium\", s: \"maximum-transactions-without-negative-balance\" },\n { n: 3712, t: \"Sum of Elements With Frequency Divisible by K\", d: \"Easy\", s: \"sum-of-elements-with-frequency-divisible-by-k\" },\n { n: 3713, t: \"Longest Balanced Substring I\", d: \"Medium\", s: \"longest-balanced-substring-i\" },\n { n: 3714, t: \"Longest Balanced Substring II\", d: \"Medium\", s: \"longest-balanced-substring-ii\" },\n { n: 3715, t: \"Sum of Perfect Square Ancestors\", d: \"Hard\", s: \"sum-of-perfect-square-ancestors\" },\n { n: 3716, t: \"Find Churn Risk Customers\", d: \"Medium\", s: \"find-churn-risk-customers\" },\n { n: 3717, t: \"Minimum Operations to Make the Array Beautiful\", d: \"Medium\", s: \"minimum-operations-to-make-the-array-beautiful\" },\n { n: 3718, t: \"Smallest Missing Multiple of K\", d: \"Easy\", s: \"smallest-missing-multiple-of-k\" },\n { n: 3719, t: \"Longest Balanced Subarray I\", d: \"Medium\", s: \"longest-balanced-subarray-i\" },\n { n: 3720, t: \"Lexicographically Smallest Permutation Greater Than Target\", d: \"Medium\", s: \"lexicographically-smallest-permutation-greater-than-target\" },\n { n: 3721, t: \"Longest Balanced Subarray II\", d: \"Hard\", s: \"longest-balanced-subarray-ii\" },\n { n: 3722, t: \"Lexicographically Smallest String After Reverse\", d: \"Medium\", s: \"lexicographically-smallest-string-after-reverse\" },\n { n: 3723, t: \"Maximize Sum of Squares of Digits\", d: \"Medium\", s: \"maximize-sum-of-squares-of-digits\" },\n { n: 3724, t: \"Minimum Operations to Transform Array\", d: \"Medium\", s: \"minimum-operations-to-transform-array\" },\n { n: 3725, t: \"Count Ways to Choose Coprime Integers from Rows\", d: \"Hard\", s: \"count-ways-to-choose-coprime-integers-from-rows\" },\n { n: 3726, t: \"Remove Zeros in Decimal Representation\", d: \"Easy\", s: \"remove-zeros-in-decimal-representation\" },\n { n: 3727, t: \"Maximum Alternating Sum of Squares\", d: \"Medium\", s: \"maximum-alternating-sum-of-squares\" },\n { n: 3728, t: \"Stable Subarrays With Equal Boundary and Interior Sum\", d: \"Medium\", s: \"stable-subarrays-with-equal-boundary-and-interior-sum\" },\n { n: 3729, t: \"Count Distinct Subarrays Divisible by K in Sorted Array\", d: \"Hard\", s: \"count-distinct-subarrays-divisible-by-k-in-sorted-array\" },\n { n: 3730, t: \"Maximum Calories Burnt from Jumps\", d: \"Medium\", s: \"maximum-calories-burnt-from-jumps\" },\n { n: 3731, t: \"Find Missing Elements\", d: \"Easy\", s: \"find-missing-elements\" },\n { n: 3732, t: \"Maximum Product of Three Elements After One Replacement\", d: \"Medium\", s: \"maximum-product-of-three-elements-after-one-replacement\" },\n { n: 3733, t: \"Minimum Time to Complete All Deliveries\", d: \"Medium\", s: \"minimum-time-to-complete-all-deliveries\" },\n { n: 3734, t: \"Lexicographically Smallest Palindromic Permutation Greater Than Target\", d: \"Hard\", s: \"lexicographically-smallest-palindromic-permutation-greater-than-target\" },\n { n: 3735, t: \"Lexicographically Smallest String After Reverse II\", d: \"Hard\", s: \"lexicographically-smallest-string-after-reverse-ii\" },\n { n: 3736, t: \"Minimum Moves to Equal Array Elements III\", d: \"Easy\", s: \"minimum-moves-to-equal-array-elements-iii\" },\n { n: 3737, t: \"Count Subarrays With Majority Element I\", d: \"Medium\", s: \"count-subarrays-with-majority-element-i\" },\n { n: 3738, t: \"Longest Non-Decreasing Subarray After Replacing at Most One Element\", d: \"Medium\", s: \"longest-non-decreasing-subarray-after-replacing-at-most-one-element\" },\n { n: 3739, t: \"Count Subarrays With Majority Element II\", d: \"Hard\", s: \"count-subarrays-with-majority-element-ii\" },\n { n: 3740, t: \"Minimum Distance Between Three Equal Elements I\", d: \"Easy\", s: \"minimum-distance-between-three-equal-elements-i\" },\n { n: 3741, t: \"Minimum Distance Between Three Equal Elements II\", d: \"Medium\", s: \"minimum-distance-between-three-equal-elements-ii\" },\n { n: 3742, t: \"Maximum Path Score in a Grid\", d: \"Medium\", s: \"maximum-path-score-in-a-grid\" },\n { n: 3743, t: \"Maximize Cyclic Partition Score\", d: \"Hard\", s: \"maximize-cyclic-partition-score\" },\n { n: 3744, t: \"Find Kth Character in Expanded String\", d: \"Medium\", s: \"find-kth-character-in-expanded-string\" },\n { n: 3745, t: \"Maximize Expression of Three Elements\", d: \"Easy\", s: \"maximize-expression-of-three-elements\" },\n { n: 3746, t: \"Minimum String Length After Balanced Removals\", d: \"Medium\", s: \"minimum-string-length-after-balanced-removals\" },\n { n: 3747, t: \"Count Distinct Integers After Removing Zeros\", d: \"Medium\", s: \"count-distinct-integers-after-removing-zeros\" },\n { n: 3748, t: \"Count Stable Subarrays\", d: \"Hard\", s: \"count-stable-subarrays\" },\n { n: 3749, t: \"Evaluate Valid Expressions\", d: \"Hard\", s: \"evaluate-valid-expressions\" },\n { n: 3750, t: \"Minimum Number of Flips to Reverse Binary String\", d: \"Easy\", s: \"minimum-number-of-flips-to-reverse-binary-string\" },\n { n: 3751, t: \"Total Waviness of Numbers in Range I\", d: \"Medium\", s: \"total-waviness-of-numbers-in-range-i\" },\n { n: 3752, t: \"Lexicographically Smallest Negated Permutation that Sums to Target\", d: \"Medium\", s: \"lexicographically-smallest-negated-permutation-that-sums-to-target\" },\n { n: 3753, t: \"Total Waviness of Numbers in Range II\", d: \"Hard\", s: \"total-waviness-of-numbers-in-range-ii\" },\n { n: 3754, t: \"Concatenate Non-Zero Digits and Multiply by Sum I\", d: \"Easy\", s: \"concatenate-non-zero-digits-and-multiply-by-sum-i\" },\n { n: 3755, t: \"Find Maximum Balanced XOR Subarray Length\", d: \"Medium\", s: \"find-maximum-balanced-xor-subarray-length\" },\n { n: 3756, t: \"Concatenate Non-Zero Digits and Multiply by Sum II\", d: \"Medium\", s: \"concatenate-non-zero-digits-and-multiply-by-sum-ii\" },\n { n: 3757, t: \"Number of Effective Subsequences\", d: \"Hard\", s: \"number-of-effective-subsequences\" },\n { n: 3758, t: \"Convert Number Words to Digits\", d: \"Medium\", s: \"convert-number-words-to-digits\" },\n { n: 3759, t: \"Count Elements With at Least K Greater Values\", d: \"Medium\", s: \"count-elements-with-at-least-k-greater-values\" },\n { n: 3760, t: \"Maximum Substrings With Distinct Start\", d: \"Medium\", s: \"maximum-substrings-with-distinct-start\" },\n { n: 3761, t: \"Minimum Absolute Distance Between Mirror Pairs\", d: \"Medium\", s: \"minimum-absolute-distance-between-mirror-pairs\" },\n { n: 3762, t: \"Minimum Operations to Equalize Subarrays\", d: \"Hard\", s: \"minimum-operations-to-equalize-subarrays\" },\n { n: 3763, t: \"Maximum Total Sum with Threshold Constraints\", d: \"Medium\", s: \"maximum-total-sum-with-threshold-constraints\" },\n { n: 3764, t: \"Most Common Course Pairs\", d: \"Hard\", s: \"most-common-course-pairs\" },\n { n: 3765, t: \"Complete Prime Number\", d: \"Medium\", s: \"complete-prime-number\" },\n { n: 3766, t: \"Minimum Operations to Make Binary Palindrome\", d: \"Medium\", s: \"minimum-operations-to-make-binary-palindrome\" },\n { n: 3767, t: \"Maximize Points After Choosing K Tasks\", d: \"Medium\", s: \"maximize-points-after-choosing-k-tasks\" },\n { n: 3768, t: \"Minimum Inversion Count in Subarrays of Fixed Length\", d: \"Hard\", s: \"minimum-inversion-count-in-subarrays-of-fixed-length\" },\n { n: 3769, t: \"Sort Integers by Binary Reflection\", d: \"Easy\", s: \"sort-integers-by-binary-reflection\" },\n { n: 3770, t: \"Largest Prime from Consecutive Prime Sum\", d: \"Medium\", s: \"largest-prime-from-consecutive-prime-sum\" },\n { n: 3771, t: \"Total Score of Dungeon Runs\", d: \"Medium\", s: \"total-score-of-dungeon-runs\" },\n { n: 3772, t: \"Maximum Subgraph Score in a Tree\", d: \"Hard\", s: \"maximum-subgraph-score-in-a-tree\" },\n { n: 3773, t: \"Maximum Number of Equal Length Runs\", d: \"Medium\", s: \"maximum-number-of-equal-length-runs\" },\n { n: 3774, t: \"Absolute Difference Between Maximum and Minimum K Elements\", d: \"Easy\", s: \"absolute-difference-between-maximum-and-minimum-k-elements\" },\n { n: 3775, t: \"Reverse Words With Same Vowel Count\", d: \"Medium\", s: \"reverse-words-with-same-vowel-count\" },\n { n: 3776, t: \"Minimum Moves to Balance Circular Array\", d: \"Medium\", s: \"minimum-moves-to-balance-circular-array\" },\n { n: 3777, t: \"Minimum Deletions to Make Alternating Substring\", d: \"Hard\", s: \"minimum-deletions-to-make-alternating-substring\" },\n { n: 3778, t: \"Minimum Distance Excluding One Maximum Weighted Edge\", d: \"Medium\", s: \"minimum-distance-excluding-one-maximum-weighted-edge\" },\n { n: 3779, t: \"Minimum Number of Operations to Have Distinct Elements\", d: \"Medium\", s: \"minimum-number-of-operations-to-have-distinct-elements\" },\n { n: 3780, t: \"Maximum Sum of Three Numbers Divisible by Three\", d: \"Medium\", s: \"maximum-sum-of-three-numbers-divisible-by-three\" },\n { n: 3781, t: \"Maximum Score After Binary Swaps\", d: \"Medium\", s: \"maximum-score-after-binary-swaps\" },\n { n: 3782, t: \"Last Remaining Integer After Alternating Deletion Operations\", d: \"Hard\", s: \"last-remaining-integer-after-alternating-deletion-operations\" },\n { n: 3783, t: \"Mirror Distance of an Integer\", d: \"Easy\", s: \"mirror-distance-of-an-integer\" },\n { n: 3784, t: \"Minimum Deletion Cost to Make All Characters Equal\", d: \"Medium\", s: \"minimum-deletion-cost-to-make-all-characters-equal\" },\n { n: 3785, t: \"Minimum Swaps to Avoid Forbidden Values\", d: \"Hard\", s: \"minimum-swaps-to-avoid-forbidden-values\" },\n { n: 3786, t: \"Total Sum of Interaction Cost in Tree Groups\", d: \"Hard\", s: \"total-sum-of-interaction-cost-in-tree-groups\" },\n { n: 3787, t: \"Find Diameter Endpoints of a Tree\", d: \"Medium\", s: \"find-diameter-endpoints-of-a-tree\" },\n { n: 3788, t: \"Maximum Score of a Split\", d: \"Medium\", s: \"maximum-score-of-a-split\" },\n { n: 3789, t: \"Minimum Cost to Acquire Required Items\", d: \"Medium\", s: \"minimum-cost-to-acquire-required-items\" },\n { n: 3790, t: \"Smallest All-Ones Multiple\", d: \"Medium\", s: \"smallest-all-ones-multiple\" },\n { n: 3791, t: \"Number of Balanced Integers in a Range\", d: \"Hard\", s: \"number-of-balanced-integers-in-a-range\" },\n { n: 3792, t: \"Sum of Increasing Product Blocks\", d: \"Medium\", s: \"sum-of-increasing-product-blocks\" },\n { n: 3793, t: \"Find Users with High Token Usage\", d: \"Easy\", s: \"find-users-with-high-token-usage\" },\n { n: 3794, t: \"Reverse String Prefix\", d: \"Easy\", s: \"reverse-string-prefix\" },\n { n: 3795, t: \"Minimum Subarray Length With Distinct Sum At Least K\", d: \"Medium\", s: \"minimum-subarray-length-with-distinct-sum-at-least-k\" },\n { n: 3796, t: \"Find Maximum Value in a Constrained Sequence\", d: \"Medium\", s: \"find-maximum-value-in-a-constrained-sequence\" },\n { n: 3797, t: \"Count Routes to Climb a Rectangular Grid\", d: \"Hard\", s: \"count-routes-to-climb-a-rectangular-grid\" },\n { n: 3798, t: \"Largest Even Number\", d: \"Easy\", s: \"largest-even-number\" },\n { n: 3799, t: \"Word Squares II\", d: \"Medium\", s: \"word-squares-ii\" },\n { n: 3800, t: \"Minimum Cost to Make Two Binary Strings Equal\", d: \"Medium\", s: \"minimum-cost-to-make-two-binary-strings-equal\" },\n { n: 3801, t: \"Minimum Cost to Merge Sorted Lists\", d: \"Hard\", s: \"minimum-cost-to-merge-sorted-lists\" },\n { n: 3802, t: \"Number of Ways to Paint Sheets\", d: \"Hard\", s: \"number-of-ways-to-paint-sheets\" },\n { n: 3803, t: \"Count Residue Prefixes\", d: \"Easy\", s: \"count-residue-prefixes\" },\n { n: 3804, t: \"Number of Centered Subarrays\", d: \"Medium\", s: \"number-of-centered-subarrays\" },\n { n: 3805, t: \"Count Caesar Cipher Pairs\", d: \"Medium\", s: \"count-caesar-cipher-pairs\" },\n { n: 3806, t: \"Maximum Bitwise AND After Increment Operations\", d: \"Hard\", s: \"maximum-bitwise-and-after-increment-operations\" },\n { n: 3807, t: \"Minimum Cost to Repair Edges to Traverse a Graph\", d: \"Medium\", s: \"minimum-cost-to-repair-edges-to-traverse-a-graph\" },\n { n: 3808, t: \"Find Emotionally Consistent Users\", d: \"Medium\", s: \"find-emotionally-consistent-users\" },\n { n: 3809, t: \"Best Reachable Tower\", d: \"Medium\", s: \"best-reachable-tower\" },\n { n: 3810, t: \"Minimum Operations to Reach Target Array\", d: \"Medium\", s: \"minimum-operations-to-reach-target-array\" },\n { n: 3811, t: \"Number of Alternating XOR Partitions\", d: \"Medium\", s: \"number-of-alternating-xor-partitions\" },\n { n: 3812, t: \"Minimum Edge Toggles on a Tree\", d: \"Hard\", s: \"minimum-edge-toggles-on-a-tree\" },\n { n: 3813, t: \"Vowel-Consonant Score\", d: \"Easy\", s: \"vowel-consonant-score\" },\n { n: 3814, t: \"Maximum Capacity Within Budget\", d: \"Medium\", s: \"maximum-capacity-within-budget\" },\n { n: 3815, t: \"Design Auction System\", d: \"Medium\", s: \"design-auction-system\" },\n { n: 3816, t: \"Lexicographically Smallest String After Deleting Duplicate Characters\", d: \"Hard\", s: \"lexicographically-smallest-string-after-deleting-duplicate-characters\" },\n { n: 3817, t: \"Good Indices in a Digit String\", d: \"Medium\", s: \"good-indices-in-a-digit-string\" },\n { n: 3818, t: \"Minimum Prefix Removal to Make Array Strictly Increasing\", d: \"Medium\", s: \"minimum-prefix-removal-to-make-array-strictly-increasing\" },\n { n: 3819, t: \"Rotate Non Negative Elements\", d: \"Medium\", s: \"rotate-non-negative-elements\" },\n { n: 3820, t: \"Pythagorean Distance Nodes in a Tree\", d: \"Medium\", s: \"pythagorean-distance-nodes-in-a-tree\" },\n { n: 3821, t: \"Find Nth Smallest Integer With K One Bits\", d: \"Hard\", s: \"find-nth-smallest-integer-with-k-one-bits\" },\n { n: 3822, t: \"Design Order Management System\", d: \"Medium\", s: \"design-order-management-system\" },\n { n: 3823, t: \"Reverse Letters Then Special Characters in a String\", d: \"Easy\", s: \"reverse-letters-then-special-characters-in-a-string\" },\n { n: 3824, t: \"Minimum K to Reduce Array Within Limit\", d: \"Medium\", s: \"minimum-k-to-reduce-array-within-limit\" },\n { n: 3825, t: \"Longest Strictly Increasing Subsequence With Non-Zero Bitwise AND\", d: \"Medium\", s: \"longest-strictly-increasing-subsequence-with-non-zero-bitwise-and\" },\n { n: 3826, t: \"Minimum Partition Score\", d: \"Hard\", s: \"minimum-partition-score\" },\n { n: 3827, t: \"Count Monobit Integers\", d: \"Easy\", s: \"count-monobit-integers\" },\n { n: 3828, t: \"Final Element After Subarray Deletions\", d: \"Medium\", s: \"final-element-after-subarray-deletions\" },\n { n: 3829, t: \"Design Ride Sharing System\", d: \"Medium\", s: \"design-ride-sharing-system\" },\n { n: 3830, t: \"Longest Alternating Subarray After Removing At Most One Element\", d: \"Hard\", s: \"longest-alternating-subarray-after-removing-at-most-one-element\" },\n { n: 3831, t: \"Median of a Binary Search Tree Level\", d: \"Medium\", s: \"median-of-a-binary-search-tree-level\" },\n { n: 3832, t: \"Find Users with Persistent Behavior Patterns\", d: \"Hard\", s: \"find-users-with-persistent-behavior-patterns\" },\n { n: 3833, t: \"Count Dominant Indices\", d: \"Easy\", s: \"count-dominant-indices\" },\n { n: 3834, t: \"Merge Adjacent Equal Elements\", d: \"Medium\", s: \"merge-adjacent-equal-elements\" },\n { n: 3835, t: \"Count Subarrays With Cost Less Than or Equal to K\", d: \"Medium\", s: \"count-subarrays-with-cost-less-than-or-equal-to-k\" },\n { n: 3836, t: \"Maximum Score Using Exactly K Pairs\", d: \"Hard\", s: \"maximum-score-using-exactly-k-pairs\" },\n { n: 3837, t: \"Delayed Count of Equal Elements\", d: \"Medium\", s: \"delayed-count-of-equal-elements\" },\n { n: 3838, t: \"Weighted Word Mapping\", d: \"Easy\", s: \"weighted-word-mapping\" },\n { n: 3839, t: \"Number of Prefix Connected Groups\", d: \"Medium\", s: \"number-of-prefix-connected-groups\" },\n { n: 3840, t: \"House Robber V\", d: \"Medium\", s: \"house-robber-v\" },\n { n: 3841, t: \"Palindromic Path Queries in a Tree\", d: \"Hard\", s: \"palindromic-path-queries-in-a-tree\" },\n { n: 3842, t: \"Toggle Light Bulbs\", d: \"Easy\", s: \"toggle-light-bulbs\" },\n { n: 3843, t: \"First Element with Unique Frequency\", d: \"Medium\", s: \"first-element-with-unique-frequency\" },\n { n: 3844, t: \"Longest Almost-Palindromic Substring\", d: \"Medium\", s: \"longest-almost-palindromic-substring\" },\n { n: 3845, t: \"Maximum Subarray XOR with Bounded Range\", d: \"Hard\", s: \"maximum-subarray-xor-with-bounded-range\" },\n { n: 3846, t: \"Total Distance to Type a String Using One Finger\", d: \"Medium\", s: \"total-distance-to-type-a-string-using-one-finger\" },\n];\n\n// Index by number for O(1) lookup\nconst byNumber = new Map(LEETCODE_PROBLEMS.map(p => [p.n, p]));\n\n// Search problems by number or title\nexport function searchProblems(query, limit = 20) {\n if (!query || !query.trim()) return [];\n const q = query.trim().toLowerCase();\n const results = [];\n\n // If query is a number, search by number prefix first\n if (/^\\d+$/.test(q)) {\n const num = parseInt(q, 10);\n // Exact match first\n const exact = byNumber.get(num);\n if (exact) results.push(exact);\n // Then prefix matches\n for (const p of LEETCODE_PROBLEMS) {\n if (results.length >= limit) break;\n if (p.n !== num && String(p.n).startsWith(q)) {\n results.push(p);\n }\n }\n }\n\n // Title search\n if (results.length < limit) {\n for (const p of LEETCODE_PROBLEMS) {\n if (results.length >= limit) break;\n if (!results.includes(p) && p.t.toLowerCase().includes(q)) {\n results.push(p);\n }\n }\n }\n\n return results;\n}\n\n// Get a single problem by number\nexport function getProblemByNumber(num) {\n return byNumber.get(num) || null;\n}\n\n// Build URL from slug\nexport function buildLeetCodeUrl(slug) {\n return `https://leetcode.com/problems/${slug}/description/`;\n}\n\nexport default LEETCODE_PROBLEMS;","import { todayStr, addDays, generateId } from \"./dateHelpers\";\nimport { getIntervalDays, getNextFiveStarStreak, getReviewIntervalDays } from \"./spacedRepetition\";\nimport { countReviewedToday } from \"./storage/logic\";\nimport { buildLeetCodeUrl } from \"./leetcode/problems\";\nimport type { Problem, LeetCodeProblem, Confidence } from \"./types\";\n\ninterface BuildNewProblemsOptions {\n today: string;\n now: string;\n dailyGoal: number;\n patternMap: Map<number, string[]> | null;\n}\n\n/**\n * Filter out LC problems that already exist in the user's library.\n */\nexport function filterExistingProblems(\n lcProblems: LeetCodeProblem[],\n existingProblems: Problem[],\n): { newProblems: LeetCodeProblem[]; skippedCount: number } {\n const existingNums = new Set(\n existingProblems.map((p) => p.leetcodeNumber).filter(Boolean)\n );\n const newProblems = lcProblems.filter((lc) => !existingNums.has(lc.n));\n return { newProblems, skippedCount: lcProblems.length - newProblems.length };\n}\n\n/**\n * Round-robin interleave problems by difficulty (Easy, Medium, Hard).\n */\nexport function interleaveByDifficulty(lcProblems: LeetCodeProblem[]): LeetCodeProblem[] {\n const buckets: Record<string, LeetCodeProblem[]> = { Easy: [], Medium: [], Hard: [] };\n lcProblems.forEach((lc) => {\n const bucket = buckets[lc.d] || buckets.Medium;\n bucket.push(lc);\n });\n const interleaved: LeetCodeProblem[] = [];\n const keys = Object.keys(buckets).filter((k) => buckets[k].length > 0);\n let exhausted = false;\n while (!exhausted) {\n exhausted = true;\n for (const key of keys) {\n if (buckets[key].length > 0) {\n interleaved.push(buckets[key].shift()!);\n exhausted = false;\n }\n }\n }\n return interleaved;\n}\n\n/**\n * Build full problem objects from LC problem data, distributing review dates.\n */\nexport function buildNewProblems(\n lcProblems: LeetCodeProblem[],\n { today, now, dailyGoal, patternMap }: BuildNewProblemsOptions,\n): Problem[] {\n return lcProblems.map((lc, i) => ({\n id: generateId(),\n title: lc.t,\n leetcodeNumber: lc.n,\n url: buildLeetCodeUrl(lc.s),\n difficulty: lc.d,\n patterns: patternMap?.get(lc.n) || [],\n confidence: 1 as Confidence,\n notes: \"\",\n excludeFromReview: false,\n dateAdded: today,\n lastReviewed: null,\n nextReviewDate: addDays(today, Math.floor(i / dailyGoal)),\n fiveStarStreak: 0,\n updatedAt: now,\n }));\n}\n\n/**\n * Deduplicate problems by leetcodeNumber, keeping the entry with the most recent updatedAt.\n * Problems without a leetcodeNumber are always kept.\n */\nexport function deduplicateProblems(\n problems: Problem[],\n): { problems: Problem[]; removedIds: string[] } {\n const seen = new Map<number, Problem>();\n const kept: Problem[] = [];\n const removedIds: string[] = [];\n\n for (const problem of problems) {\n if (!problem.leetcodeNumber) {\n kept.push(problem);\n continue;\n }\n const existing = seen.get(problem.leetcodeNumber);\n if (!existing) {\n seen.set(problem.leetcodeNumber, problem);\n kept.push(problem);\n } else {\n const existingTime = existing.updatedAt ? new Date(existing.updatedAt).getTime() : 0;\n const currentTime = problem.updatedAt ? new Date(problem.updatedAt).getTime() : 0;\n if (currentTime > existingTime) {\n const idx = kept.indexOf(existing);\n kept[idx] = problem;\n seen.set(problem.leetcodeNumber, problem);\n removedIds.push(existing.id);\n } else {\n removedIds.push(problem.id);\n }\n }\n }\n return { problems: kept, removedIds };\n}\n\nfunction timestampMs(value: string | null | undefined): number {\n if (!value) return 0;\n const ms = new Date(value).getTime();\n return Number.isFinite(ms) ? ms : 0;\n}\n\n/**\n * Merge imported problems with existing ones by id, then by LeetCode number.\n * When a cross-device LeetCode match has a different local id, keep the local\n * canonical id so existing review history stays attached to the same problem.\n */\nexport function mergeImportedProblems(\n existingProblems: Problem[],\n importedProblems: Problem[],\n): {\n mergedProblems: Problem[];\n addedCount: number;\n updatedCount: number;\n changedProblems: Problem[];\n importedIdToCanonicalId: Map<string, string>;\n} {\n const existing = new Map(existingProblems.map((p) => [p.id, p]));\n const idByLeetCodeNumber = new Map<number, string>();\n existingProblems.forEach((problem) => {\n if (problem.leetcodeNumber != null && !idByLeetCodeNumber.has(problem.leetcodeNumber)) {\n idByLeetCodeNumber.set(problem.leetcodeNumber, problem.id);\n }\n });\n const importedIdToCanonicalId = new Map<string, string>();\n const changedProblems: Problem[] = [];\n let added = 0;\n let updated = 0;\n importedProblems.forEach((p) => {\n const numberMatchId = p.leetcodeNumber == null ? null : idByLeetCodeNumber.get(p.leetcodeNumber) ?? null;\n const current = existing.get(p.id) ?? (numberMatchId ? existing.get(numberMatchId) : undefined);\n const canonicalId = current?.id ?? p.id;\n importedIdToCanonicalId.set(p.id, canonicalId);\n if (current) {\n // Only overwrite if imported version is newer (matches mergeProblems in sync.ts)\n const currentTime = timestampMs(current.updatedAt);\n const importedTime = timestampMs(p.updatedAt);\n if (importedTime > currentTime) {\n const canonicalProblem = p.id === canonicalId ? p : { ...p, id: canonicalId };\n existing.set(canonicalId, canonicalProblem);\n if (canonicalProblem.leetcodeNumber != null) {\n idByLeetCodeNumber.set(canonicalProblem.leetcodeNumber, canonicalId);\n }\n changedProblems.push(canonicalProblem);\n updated++;\n }\n } else {\n existing.set(p.id, p);\n if (p.leetcodeNumber != null) {\n idByLeetCodeNumber.set(p.leetcodeNumber, p.id);\n }\n changedProblems.push(p);\n added++;\n }\n });\n return {\n mergedProblems: Array.from(existing.values()),\n addedCount: added,\n updatedCount: updated,\n changedProblems,\n importedIdToCanonicalId,\n };\n}\n\n/**\n * Compute review progress toward the daily goal.\n */\nexport function computeReviewProgress(\n problems: Problem[],\n dailyReviewGoal: number,\n): { currentReviewed: number; totalDue: number; effectiveGoal: number } {\n const today = todayStr();\n const currentReviewed = countReviewedToday(problems);\n const totalDue = problems.filter((p) => p.nextReviewDate <= today && !p.excludeFromReview).length;\n const effectiveGoal = Math.min(dailyReviewGoal, totalDue + currentReviewed);\n return { currentReviewed, totalDue, effectiveGoal };\n}\n\n/**\n * Build an updated problem after a review with new confidence and dates.\n */\nexport function buildReviewedProblem(problem: Problem, newConfidence: Confidence): Problem {\n const today = todayStr();\n const intervalDays = getReviewIntervalDays(problem, newConfidence);\n const fiveStarStreak = getNextFiveStarStreak(problem, newConfidence);\n return {\n ...problem,\n confidence: newConfidence,\n fiveStarStreak,\n lastReviewed: today,\n nextReviewDate: addDays(today, intervalDays),\n updatedAt: new Date().toISOString(),\n };\n}\n\n// New problems and edits-with-changed-confidence reschedule from today.\n// Cosmetic edits (notes/patterns/etc with same confidence) preserve the existing schedule.\nexport function computeNextReviewDate(\n initialData: Problem | null,\n newConfidence: Confidence,\n today: string,\n): string {\n const confidenceChanged =\n initialData != null && newConfidence !== initialData.confidence;\n if (!initialData || confidenceChanged) {\n return addDays(today, getIntervalDays(newConfidence));\n }\n return initialData.nextReviewDate;\n}\n","import { INTERVALS } from \"./spacedRepetition\";\nimport type { Confidence } from \"./types\";\n\nexport type ProjectionDistribution = [number, number, number, number, number];\n\nexport interface ProjectionSnapshot {\n day: number;\n distribution: ProjectionDistribution;\n}\n\nexport type ProjectionDay = ProjectionSnapshot;\n\nexport interface ProjectionSeriesOptions {\n startDistribution: ProjectionDistribution;\n dailyGoal: number;\n newPerWeek: number;\n days?: number;\n seed?: number;\n advanceRate?: number;\n}\n\ninterface SimProblem {\n confidence: Confidence;\n dueDay: number;\n}\n\nfunction mulberry32(seed: number): () => number {\n let state = seed | 0;\n return () => {\n state = (state + 0x6d2b79f5) | 0;\n let t = Math.imul(state ^ (state >>> 15), 1 | state);\n t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t;\n return ((t ^ (t >>> 14)) >>> 0) / 4294967296;\n };\n}\n\nfunction toDistribution(problems: SimProblem[]): ProjectionDistribution {\n const distribution: ProjectionDistribution = [0, 0, 0, 0, 0];\n for (const problem of problems) {\n distribution[problem.confidence - 1]++;\n }\n return distribution;\n}\n\nexport function simulateProjection(\n startDistribution: ProjectionDistribution,\n dailyGoal: number,\n newPerWeek: number,\n days = 30,\n seed = 42,\n): ProjectionSnapshot[] {\n const series = simulateProjectionSeries({\n startDistribution,\n dailyGoal,\n newPerWeek,\n days,\n seed,\n advanceRate: 1,\n });\n const snapshotDays = [0, 10, 20, days];\n return series.filter((day) => snapshotDays.includes(day.day));\n}\n\nexport function simulateProjectionSeries({\n startDistribution,\n dailyGoal,\n newPerWeek,\n days = 30,\n seed = 42,\n advanceRate = 1,\n}: ProjectionSeriesOptions): ProjectionDay[] {\n const rand = mulberry32(seed);\n const reviewLimit = Math.max(0, dailyGoal);\n const clampedAdvanceRate = Math.max(0, Math.min(1, advanceRate));\n\n const problems: SimProblem[] = [];\n for (let star = 0; star < 5; star++) {\n const count = startDistribution[star];\n const confidence = (star + 1) as Confidence;\n const interval = INTERVALS[confidence];\n for (let index = 0; index < count; index++) {\n problems.push({\n confidence,\n dueDay: Math.floor(rand() * interval),\n });\n }\n }\n\n const series: ProjectionDay[] = [{ day: 0, distribution: toDistribution(problems) }];\n\n for (let day = 1; day <= days; day++) {\n if (newPerWeek > 0) {\n const dayInWeek = (day - 1) % 7;\n const cumulative = Math.floor(((dayInWeek + 1) * newPerWeek) / 7);\n const previousCumulative = Math.floor((dayInWeek * newPerWeek) / 7);\n const toAdd = cumulative - previousCumulative;\n for (let index = 0; index < toAdd; index++) {\n problems.push({ confidence: 1, dueDay: day });\n }\n }\n\n const due = problems\n .filter((problem) => problem.dueDay <= day)\n .sort((a, b) => {\n const confidenceDiff = a.confidence - b.confidence;\n if (confidenceDiff !== 0) return confidenceDiff;\n return a.dueDay - b.dueDay;\n });\n\n const toReview = due.slice(0, reviewLimit);\n for (const problem of toReview) {\n const shouldAdvance =\n clampedAdvanceRate >= 1 ||\n (clampedAdvanceRate > 0 && rand() <= clampedAdvanceRate);\n if (shouldAdvance && problem.confidence < 5) {\n problem.confidence = (problem.confidence + 1) as Confidence;\n }\n problem.dueDay = day + INTERVALS[problem.confidence];\n }\n\n series.push({ day, distribution: toDistribution(problems) });\n }\n\n return series;\n}\n","import { timestampMs, utcToLocalDateStr } from \"../dateHelpers\";\nimport type {\n DataReset,\n Problem,\n ProblemTombstone,\n ReviewEvent,\n ReviewLogEntry,\n} from \"../types\";\n\n// All timestamp comparisons in this module go through timestampMs (F-17):\n// malformed/missing values collapse to the epoch so the side with a valid\n// timestamp deterministically wins and ties resolve local-first.\n\nexport interface MergeProblemsResult {\n problems: Problem[];\n cloudAdded: number;\n cloudWon: number;\n}\n\nexport function mergeProblems(localProblems: Problem[], cloudProblems: Problem[]): MergeProblemsResult {\n const localMap = new Map(localProblems.map((p) => [p.id, p]));\n const cloudMap = new Map(cloudProblems.map((p) => [p.id, p]));\n const merged = new Map<string, Problem>();\n let cloudAdded = 0;\n let cloudWon = 0;\n\n for (const [id, problem] of localMap) {\n merged.set(id, problem);\n }\n\n for (const [id, problem] of cloudMap) {\n if (!merged.has(id)) {\n merged.set(id, problem);\n cloudAdded++;\n continue;\n }\n const local = localMap.get(id)!;\n if (timestampMs(problem.updatedAt) > timestampMs(local.updatedAt)) {\n merged.set(id, problem);\n cloudWon++;\n }\n }\n\n return { problems: Array.from(merged.values()), cloudAdded, cloudWon };\n}\n\nexport interface MergeProblemTombstonesResult {\n tombstones: ProblemTombstone[];\n addedFromCloud: number;\n}\n\nexport function mergeProblemTombstones(\n localTombstones: ProblemTombstone[],\n cloudTombstones: ProblemTombstone[],\n): MergeProblemTombstonesResult {\n const merged = new Map<string, ProblemTombstone>();\n const localMap = new Map(localTombstones.map((t) => [t.problemId, t]));\n let addedFromCloud = 0;\n\n for (const tombstone of localTombstones) {\n merged.set(tombstone.problemId, tombstone);\n }\n\n for (const tombstone of cloudTombstones) {\n const existing = merged.get(tombstone.problemId);\n if (!existing) {\n merged.set(tombstone.problemId, tombstone);\n addedFromCloud++;\n continue;\n }\n if (timestampMs(tombstone.deletedAt) > timestampMs(existing.deletedAt)) {\n merged.set(tombstone.problemId, tombstone);\n if (localMap.has(tombstone.problemId)) addedFromCloud++;\n }\n }\n\n return { tombstones: Array.from(merged.values()), addedFromCloud };\n}\n\n/**\n * F-25: last-write-wins — a tombstone only kills rows not updated after it, so\n * a problem restored from a backup (re-stamped past its tombstone) survives\n * everywhere while stale pre-delete copies on other devices still die. Ties go\n * to the delete.\n */\nexport function filterTombstonedProblems(problems: Problem[], tombstones: ProblemTombstone[]): Problem[] {\n if (tombstones.length === 0) return problems;\n const deletedAtById = new Map(tombstones.map((t) => [t.problemId, t.deletedAt]));\n return problems.filter((p) => {\n const deletedAt = deletedAtById.get(p.id);\n return deletedAt === undefined || timestampMs(p.updatedAt) > timestampMs(deletedAt);\n });\n}\n\nexport interface MergeReviewLogResult {\n log: ReviewLogEntry[];\n addedFromCloud: number;\n}\n\nexport function mergeReviewLog(localLog: ReviewLogEntry[], cloudLog: ReviewLogEntry[]): MergeReviewLogResult {\n const dates = new Set<string>();\n const merged: ReviewLogEntry[] = [];\n let addedFromCloud = 0;\n\n for (const entry of localLog) {\n if (!dates.has(entry.date)) {\n dates.add(entry.date);\n merged.push(entry);\n }\n }\n\n for (const entry of cloudLog) {\n if (!dates.has(entry.date)) {\n dates.add(entry.date);\n merged.push(entry);\n addedFromCloud++;\n }\n }\n\n return { log: merged, addedFromCloud };\n}\n\n// ============================================================\n// DATA-RESET FILTERS\n// ============================================================\n\nexport function dataResetTime(reset: DataReset | null | undefined): number {\n return timestampMs(reset?.resetAt);\n}\n\nexport function compareDataResets(\n localReset: DataReset | null,\n cloudReset: DataReset | null,\n): \"local\" | \"cloud\" | \"none\" {\n const localTime = dataResetTime(localReset);\n const cloudTime = dataResetTime(cloudReset);\n if (localTime > cloudTime) return \"local\";\n if (cloudTime > localTime) return \"cloud\";\n return \"none\";\n}\n\nexport function newestDataReset(localReset: DataReset | null, cloudReset: DataReset | null): DataReset | null {\n return compareDataResets(localReset, cloudReset) === \"cloud\" ? cloudReset : localReset;\n}\n\nexport function filterProblemsAfterDataReset(\n problems: Problem[],\n reset: DataReset | null,\n): { problems: Problem[]; removedIds: string[] } {\n const cutoff = dataResetTime(reset);\n if (cutoff === 0) return { problems, removedIds: [] };\n\n const kept: Problem[] = [];\n const removedIds: string[] = [];\n for (const problem of problems) {\n if (timestampMs(problem.updatedAt) > cutoff) {\n kept.push(problem);\n } else {\n removedIds.push(problem.id);\n }\n }\n return { problems: kept, removedIds };\n}\n\nexport function filterReviewEventsAfterDataReset(events: ReviewEvent[], reset: DataReset | null): ReviewEvent[] {\n const cutoff = dataResetTime(reset);\n if (cutoff === 0) return events;\n return events.filter((event) => timestampMs(event.timestamp) > cutoff);\n}\n\n/**\n * F-20: review-log entries are date-only, so compare against the LOCAL date of\n * the reset. `>=` keeps legitimate same-day post-clear reviews; the plain\n * date-string compare avoids rebuilding the log from events (which would churn\n * under mobile's 180-day event retention).\n */\nexport function filterReviewLogAfterDataReset(\n log: ReviewLogEntry[],\n reset: DataReset | null,\n): ReviewLogEntry[] {\n if (dataResetTime(reset) === 0) return log;\n const resetDate = utcToLocalDateStr(reset!.resetAt);\n if (!resetDate) return log;\n return log.filter((entry) => entry.date >= resetDate);\n}\n\nexport function filterTombstonesAfterDataReset(\n tombstones: ProblemTombstone[],\n reset: DataReset | null,\n): ProblemTombstone[] {\n const cutoff = dataResetTime(reset);\n if (cutoff === 0) return tombstones;\n return tombstones.filter((tombstone) => timestampMs(tombstone.deletedAt) > cutoff);\n}\n\nexport function reviewLogFromEvents(events: ReviewEvent[]): ReviewLogEntry[] {\n const dates = new Set<string>();\n const log: ReviewLogEntry[] = [];\n for (const event of events) {\n if (dates.has(event.date)) continue;\n dates.add(event.date);\n log.push({ date: event.date });\n }\n return log;\n}\n\n/** F-7: review events whose problem did not survive the merge are orphans. */\nexport function filterReviewEventsToProblems(events: ReviewEvent[], problemIds: Set<string>): ReviewEvent[] {\n return events.filter((event) => problemIds.has(event.problemId));\n}\n","import { timestampMs } from \"../dateHelpers\";\nimport type { ReviewEvent } from \"../types\";\n\nexport function reviewEventKey(event: ReviewEvent): string {\n return `${event.problemId}|${event.timestamp}`;\n}\n\n/**\n * Two events are the same review when their keys match exactly, or when they\n * hit the same problem within 5 seconds ON THE SAME calendar date (legacy\n * timestamp mismatch between platforms). The date gate is canonical core\n * behavior: near-midnight events on different dates are distinct streak days\n * and must both survive a merge.\n */\nexport function reviewEventsMatch(a: ReviewEvent, b: ReviewEvent): boolean {\n if (reviewEventKey(a) === reviewEventKey(b)) return true;\n if (a.problemId !== b.problemId) return false;\n if (a.date !== b.date) return false;\n const aTime = timestampMs(a.timestamp);\n const bTime = timestampMs(b.timestamp);\n if (!aTime || !bTime) return false;\n return Math.abs(aTime - bTime) < 5000;\n}\n\nexport interface MergeReviewEventsOptions {\n /**\n * F-3 prune watermark (ISO): cloud events strictly older than this were\n * pruned locally on purpose and are dropped instead of resurrected.\n */\n prunedBefore?: string | null;\n}\n\nexport interface MergeReviewEventsResult {\n events: ReviewEvent[];\n addedFromCloud: number;\n localOnlyEvents: ReviewEvent[];\n}\n\nexport function mergeReviewEvents(\n localEvents: ReviewEvent[],\n cloudEvents: ReviewEvent[],\n options: MergeReviewEventsOptions = {},\n): MergeReviewEventsResult {\n const watermarkMs = timestampMs(options.prunedBefore);\n const effectiveCloudEvents = watermarkMs\n ? cloudEvents.filter((event) => timestampMs(event.timestamp) >= watermarkMs)\n : cloudEvents;\n\n const all = [\n ...localEvents.map((event) => ({ event, source: \"local\" as const })),\n ...effectiveCloudEvents.map((event) => ({ event, source: \"cloud\" as const })),\n ].sort((a, b) => a.event.timestamp.localeCompare(b.event.timestamp));\n const kept: Array<{ event: ReviewEvent; source: \"local\" | \"cloud\" }> = [];\n\n for (const item of all) {\n if (kept.some((existing) => reviewEventsMatch(existing.event, item.event))) continue;\n kept.push(item);\n }\n\n let addedFromCloud = 0;\n const localOnlyEvents: ReviewEvent[] = [];\n\n for (const { event, source } of kept) {\n const hasLocalMatch = localEvents.some((localEvent) => reviewEventsMatch(localEvent, event));\n const hasCloudMatch = effectiveCloudEvents.some((cloudEvent) => reviewEventsMatch(cloudEvent, event));\n if (source === \"cloud\" && !hasLocalMatch) addedFromCloud++;\n if (source === \"local\" && !hasCloudMatch) localOnlyEvents.push(event);\n }\n\n return { events: kept.map(({ event }) => event), addedFromCloud, localOnlyEvents };\n}\n","import { REVIEW_EVENTS_PRUNED_BEFORE_KEY } from \"../constants\";\nimport { timestampMs } from \"../dateHelpers\";\nimport type { CoreHooks } from \"../hooks\";\nimport { mergePreferences, preferencesEqual } from \"../preferences\";\nimport { deduplicateProblems } from \"../problemTransforms\";\nimport type { StorageAdapter } from \"../storage/adapter\";\nimport { pruneOldEvents } from \"../storage/logic\";\nimport type { CloudData } from \"../supabase/data\";\nimport type {\n CorePreferences,\n DataReset,\n Problem,\n ProblemTombstone,\n ReviewEvent,\n ReviewLogEntry,\n} from \"../types\";\nimport {\n compareDataResets,\n filterProblemsAfterDataReset,\n filterReviewEventsAfterDataReset,\n filterReviewEventsToProblems,\n filterReviewLogAfterDataReset,\n filterTombstonedProblems,\n filterTombstonesAfterDataReset,\n mergeProblems,\n mergeProblemTombstones,\n mergeReviewLog,\n newestDataReset,\n reviewLogFromEvents,\n} from \"./merge\";\nimport { mergeReviewEvents } from \"./reviewEvents\";\n\n/** The slice of the cloud-data surface performFullSync drives; the full CloudData satisfies it. */\nexport type FullSyncCloud = Pick<\n CloudData,\n | \"fetchProblems\"\n | \"fetchProblemTombstones\"\n | \"fetchDataReset\"\n | \"fetchReviewLog\"\n | \"fetchReviewEvents\"\n | \"fetchPreferences\"\n | \"upsertDataReset\"\n | \"deleteAllUserProblems\"\n | \"deleteAllUserReviewLog\"\n | \"upsertProblemTombstones\"\n | \"deleteProblems\"\n | \"upsertProblems\"\n | \"batchInsertReviewLogs\"\n | \"upsertPreferences\"\n>;\n\nexport interface FullSyncLocalState<P extends CorePreferences = CorePreferences> {\n problems: Problem[];\n reviewLog: ReviewLogEntry[];\n reviewEvents: ReviewEvent[];\n preferences: P;\n problemTombstones: ProblemTombstone[];\n dataReset: DataReset | null;\n}\n\nexport interface FullSyncDeps<P extends CorePreferences = CorePreferences> {\n userId: string;\n cloud: FullSyncCloud;\n /**\n * Used only for the prune watermark (F-3). Merged data is RETURNED, never\n * written here — the platform persists it, so a failed sync leaves local\n * state untouched (F-5).\n */\n storage: StorageAdapter;\n local: FullSyncLocalState<P>;\n /** Local review-event retention: null never prunes (web); mobile passes 180. */\n eventRetentionDays: number | null;\n hooks?: CoreHooks;\n}\n\nexport interface FullSyncSuccess<P extends CorePreferences = CorePreferences>\n extends FullSyncLocalState<P> {\n status: \"success\";\n hasChanges: boolean;\n}\n\nexport interface FullSyncFailure {\n status: \"error\";\n error: unknown;\n}\n\nexport type FullSyncResult<P extends CorePreferences = CorePreferences> =\n | FullSyncSuccess<P>\n | FullSyncFailure;\n\n/**\n * Full sign-in sync: pull everything, merge with the provided local snapshot,\n * repair the cloud, and return the merged state for the platform to persist.\n *\n * Fail-closed (F-5): any critical fetch or any cloud write failure aborts with\n * `{ status: \"error\" }` and no partial local writes. Tolerated degradations\n * (kept from both platforms): review-event and preference fetch failures skip\n * their backfill/merge instead of aborting.\n */\nexport async function performFullSync<P extends CorePreferences = CorePreferences>(\n deps: FullSyncDeps<P>,\n): Promise<FullSyncResult<P>> {\n const { userId, cloud, storage, local, eventRetentionDays, hooks = {} } = deps;\n const warn = hooks.warn ?? (() => undefined);\n const fail = (message: string, error: unknown): FullSyncFailure => {\n warn(message, error);\n return { status: \"error\", error };\n };\n\n try {\n const [\n cloudProblemsRes,\n cloudTombstonesRes,\n cloudResetRes,\n cloudLogRes,\n cloudEventsRes,\n cloudPrefsRes,\n ] = await Promise.all([\n cloud.fetchProblems(userId),\n cloud.fetchProblemTombstones(userId),\n cloud.fetchDataReset(userId),\n cloud.fetchReviewLog(userId),\n cloud.fetchReviewEvents(userId),\n cloud.fetchPreferences(userId),\n ]);\n\n if (cloudProblemsRes.error) {\n return fail(\"Sync: failed to fetch problems\", cloudProblemsRes.error);\n }\n if (cloudTombstonesRes.error) {\n return fail(\"Sync: failed to fetch problem tombstones\", cloudTombstonesRes.error);\n }\n if (cloudResetRes.error) {\n return fail(\"Sync: failed to fetch data reset marker\", cloudResetRes.error);\n }\n const reviewEventsFetchFailed = !!cloudEventsRes.error;\n if (reviewEventsFetchFailed) {\n warn(\"Sync: failed to fetch review events\", cloudEventsRes.error);\n }\n const preferencesFetchFailed = !!cloudPrefsRes.error;\n if (preferencesFetchFailed) {\n warn(\"Sync: failed to fetch preferences\", cloudPrefsRes.error);\n }\n\n const cloudProblems = cloudProblemsRes.data ?? [];\n const cloudTombstones = cloudTombstonesRes.data ?? [];\n const cloudDataReset = cloudResetRes.data ?? null;\n const resetWinner = compareDataResets(local.dataReset, cloudDataReset);\n const dataReset = newestDataReset(local.dataReset, cloudDataReset);\n\n let effectiveLocalProblems = local.problems;\n let effectiveLocalLog = local.reviewLog;\n let effectiveLocalEvents = local.reviewEvents;\n let effectiveCloudProblems = cloudProblems;\n let effectiveCloudLog = cloudLogRes.data ?? [];\n let effectiveCloudEvents = reviewEventsFetchFailed ? [] : cloudEventsRes.data ?? [];\n let resetRemovedCloudProblemIds: string[] = [];\n\n // F-20: local rows predating the newest reset must never survive the merge\n // or be re-uploaded. This covers the resetWinner \"local\" and tie branches;\n // the \"cloud\" branch below zeroes local state anyway.\n let localRemovedByReset = 0;\n if (dataReset) {\n const filteredLocal = filterProblemsAfterDataReset(effectiveLocalProblems, dataReset);\n const filteredLocalEvents = filterReviewEventsAfterDataReset(effectiveLocalEvents, dataReset);\n const filteredLocalLog = filterReviewLogAfterDataReset(effectiveLocalLog, dataReset);\n localRemovedByReset =\n filteredLocal.removedIds.length +\n (effectiveLocalEvents.length - filteredLocalEvents.length) +\n (effectiveLocalLog.length - filteredLocalLog.length);\n effectiveLocalProblems = filteredLocal.problems;\n effectiveLocalEvents = filteredLocalEvents;\n effectiveLocalLog = filteredLocalLog;\n }\n\n if (resetWinner === \"cloud\") {\n effectiveLocalProblems = [];\n effectiveLocalLog = [];\n effectiveLocalEvents = [];\n const filteredCloud = filterProblemsAfterDataReset(cloudProblems, dataReset);\n effectiveCloudProblems = filteredCloud.problems;\n effectiveCloudEvents = filterReviewEventsAfterDataReset(effectiveCloudEvents, dataReset);\n effectiveCloudLog = reviewLogFromEvents(effectiveCloudEvents);\n resetRemovedCloudProblemIds = filteredCloud.removedIds;\n } else if (resetWinner === \"local\") {\n effectiveCloudProblems = [];\n effectiveCloudLog = [];\n effectiveCloudEvents = [];\n // Durable reset marker must land before the destructive wipe, and the\n // wipe must complete before survivors are re-upserted below.\n const resetResult = await cloud.upsertDataReset(userId, local.dataReset!);\n if (resetResult.error) {\n return fail(\"Sync: failed to upsert local data reset marker\", resetResult.error);\n }\n const [problemsDeleteResult, logDeleteResult] = await Promise.all([\n cloud.deleteAllUserProblems(userId),\n cloud.deleteAllUserReviewLog(userId),\n ]);\n if (problemsDeleteResult.error) {\n return fail(\"Sync: failed to repair cloud reset (problems):\", problemsDeleteResult.error);\n }\n if (logDeleteResult.error) {\n return fail(\"Sync: failed to repair cloud reset (review log):\", logDeleteResult.error);\n }\n } else if (dataReset) {\n const filteredCloud = filterProblemsAfterDataReset(cloudProblems, dataReset);\n effectiveCloudProblems = filteredCloud.problems;\n effectiveCloudEvents = filterReviewEventsAfterDataReset(effectiveCloudEvents, dataReset);\n effectiveCloudLog = reviewLogFromEvents(effectiveCloudEvents);\n resetRemovedCloudProblemIds = filteredCloud.removedIds;\n }\n\n const validLocalTombstones = filterTombstonesAfterDataReset(local.problemTombstones, dataReset);\n const validCloudTombstones = filterTombstonesAfterDataReset(cloudTombstones, dataReset);\n const {\n tombstones: mergedTombstones,\n addedFromCloud: tombstonesAddedFromCloud,\n } = mergeProblemTombstones(validLocalTombstones, validCloudTombstones);\n\n const filteredLocalProblems = filterTombstonedProblems(effectiveLocalProblems, mergedTombstones);\n const filteredCloudProblems = filterTombstonedProblems(effectiveCloudProblems, mergedTombstones);\n // Only cloud rows the LWW tombstone filter actually killed get deleted —\n // a row restored past its tombstone (F-25) must keep its cloud copy.\n const survivingCloudIds = new Set(filteredCloudProblems.map((p) => p.id));\n const tombstonedCloudIds = effectiveCloudProblems\n .filter((p) => !survivingCloudIds.has(p.id))\n .map((p) => p.id);\n\n const { problems: merged, cloudAdded, cloudWon } = mergeProblems(filteredLocalProblems, filteredCloudProblems);\n const { problems: mergedProblems, removedIds: dupIds } = deduplicateProblems(merged);\n\n // Durable tombstone markers must be safe before the rows they cover die.\n if (mergedTombstones.length > 0) {\n const { error } = await cloud.upsertProblemTombstones(userId, mergedTombstones);\n if (error) {\n return fail(\"Sync: failed to upsert problem tombstones\", error);\n }\n }\n\n const idsToDelete = new Set(dupIds);\n tombstonedCloudIds.forEach((id) => idsToDelete.add(id));\n resetRemovedCloudProblemIds.forEach((id) => idsToDelete.add(id));\n const idsToDeleteList = Array.from(idsToDelete);\n if (idsToDeleteList.length > 0) {\n const { error } = await cloud.deleteProblems(idsToDeleteList);\n if (error) {\n return fail(\"Sync: failed to delete stale cloud problems\", error);\n }\n }\n\n const cloudIds = new Set(filteredCloudProblems.map((p) => p.id));\n const localIds = new Set(filteredLocalProblems.map((p) => p.id));\n const cloudMap = new Map(filteredCloudProblems.map((p) => [p.id, p]));\n const problemsToPush: Problem[] = [];\n\n for (const problem of mergedProblems) {\n if (!cloudIds.has(problem.id)) {\n problemsToPush.push(problem);\n } else if (localIds.has(problem.id)) {\n const cloudProblem = cloudMap.get(problem.id)!;\n if (timestampMs(problem.updatedAt) > timestampMs(cloudProblem.updatedAt)) {\n problemsToPush.push(problem);\n }\n }\n }\n\n // Problems upload before review-event backfill so events never reference\n // a problem the cloud has not seen yet.\n if (problemsToPush.length > 0) {\n const { error } = await cloud.upsertProblems(userId, problemsToPush);\n if (error) {\n return fail(\"Sync: failed to push local problems\", error);\n }\n }\n\n // F-7: drop review events orphaned by deletes/tombstones/dedup on either side.\n const mergedProblemIds = new Set(mergedProblems.map((problem) => problem.id));\n const validLocalEvents = filterReviewEventsToProblems(effectiveLocalEvents, mergedProblemIds);\n const validCloudEvents = filterReviewEventsToProblems(effectiveCloudEvents, mergedProblemIds);\n const removedOrphanReviewEvents =\n validLocalEvents.length !== effectiveLocalEvents.length ||\n validCloudEvents.length !== effectiveCloudEvents.length;\n\n let prunedBefore: string | null = null;\n try {\n prunedBefore = await storage.getItem(REVIEW_EVENTS_PRUNED_BEFORE_KEY);\n } catch (err) {\n warn(\"Sync: failed to read the review-event prune watermark\", err);\n }\n\n const { log: baseMergedLog, addedFromCloud: logAddedFromCloud } = mergeReviewLog(\n effectiveLocalLog,\n effectiveCloudLog,\n );\n const {\n events: mergedEvents,\n addedFromCloud: eventsAddedFromCloud,\n localOnlyEvents,\n } = mergeReviewEvents(validLocalEvents, validCloudEvents, { prunedBefore });\n\n // Any date carried by a surviving event counts as a practiced day. This is\n // how pre-reset review-log dates come back after a backup restore: the\n // date-only log entries die to the reset filter (they cannot be\n // re-stamped), but the restored events — re-stamped past the reset — still\n // carry them. Union only ever adds dates, so a cleared device (whose\n // pre-reset events were filtered) resurrects nothing.\n const { log: mergedLog, addedFromCloud: logAddedFromEvents } = mergeReviewLog(\n baseMergedLog,\n reviewLogFromEvents(mergedEvents),\n );\n\n if (localOnlyEvents.length > 0 && !reviewEventsFetchFailed) {\n const { error } = await cloud.batchInsertReviewLogs(userId, localOnlyEvents);\n if (error) {\n return fail(\"Sync: failed to backfill local review events\", error);\n }\n }\n\n // Preferences: newest-wins with the epoch shim (F-6).\n const cloudPrefs = cloudPrefsRes.data ?? null;\n let mergedPreferences: P = local.preferences;\n let preferencesChanged = false;\n if (!preferencesFetchFailed) {\n if (!cloudPrefs) {\n // First sign-in — seed the cloud from local.\n const { error } = await cloud.upsertPreferences(userId, local.preferences);\n if (error) {\n return fail(\"Sync: failed to initialize cloud preferences\", error);\n }\n } else {\n const prefsMerge = mergePreferences(local.preferences, cloudPrefs);\n mergedPreferences = prefsMerge.preferences;\n if (prefsMerge.winner === \"cloud\") {\n preferencesChanged = !preferencesEqual(cloudPrefs, local.preferences);\n } else {\n // Local is strictly newer — propagate so other devices converge.\n const { error } = await cloud.upsertPreferences(userId, local.preferences);\n if (error) {\n return fail(\"Sync: failed to push newer local preferences\", error);\n }\n }\n }\n }\n\n // Optional post-sync prune (F-3): cloud keeps full history; the watermark\n // is persisted BEFORE the pruned set is adopted so a failed write cannot\n // strand pruned-but-resurrectable events.\n let reviewEvents = mergedEvents;\n let prunedCount = 0;\n if (eventRetentionDays != null) {\n const { kept, cutoffIso } = pruneOldEvents(mergedEvents, { retentionDays: eventRetentionDays });\n if (cutoffIso) {\n try {\n if (timestampMs(cutoffIso) > timestampMs(prunedBefore)) {\n await storage.setItem(REVIEW_EVENTS_PRUNED_BEFORE_KEY, cutoffIso);\n }\n reviewEvents = kept;\n prunedCount = mergedEvents.length - kept.length;\n } catch (err) {\n warn(\"Sync: failed to persist the review-event prune watermark; skipping prune\", err);\n }\n }\n }\n\n const hasChanges =\n cloudAdded > 0 ||\n cloudWon > 0 ||\n idsToDeleteList.length > 0 ||\n tombstonesAddedFromCloud > 0 ||\n removedOrphanReviewEvents ||\n resetWinner === \"cloud\" ||\n localRemovedByReset > 0 ||\n logAddedFromCloud > 0 ||\n logAddedFromEvents > 0 ||\n eventsAddedFromCloud > 0 ||\n prunedCount > 0 ||\n preferencesChanged;\n\n return {\n status: \"success\",\n problems: mergedProblems,\n reviewLog: mergedLog,\n reviewEvents,\n preferences: mergedPreferences,\n problemTombstones: mergedTombstones,\n dataReset,\n hasChanges,\n };\n } catch (err) {\n return fail(\"Sync: unexpected error\", err);\n }\n}\n","export const CLOUD_OPERATION_TIMEOUT_MS = 15_000;\nexport const FULL_SYNC_TIMEOUT_MS = 25_000;\nexport const LEETCODE_ACTIVITY_TIMEOUT_MS = 45_000;\n\nexport class SyncTimeoutError extends Error {\n operation: string;\n timeoutMs: number;\n\n constructor(operation: string, timeoutMs: number) {\n super(`${operation} timed out after ${timeoutMs}ms`);\n this.name = \"SyncTimeoutError\";\n this.operation = operation;\n this.timeoutMs = timeoutMs;\n }\n}\n\nexport function isSyncTimeoutError(error: unknown): error is SyncTimeoutError {\n return error instanceof SyncTimeoutError || (\n !!error\n && typeof error === \"object\"\n && (error as { name?: unknown }).name === \"SyncTimeoutError\"\n );\n}\n\nexport function isLikelyOfflineError(error: unknown): boolean {\n if (isSyncTimeoutError(error)) return true;\n const message = error instanceof Error ? error.message : String(error ?? \"\");\n return /network|offline|timeout|timed out|connection|fetch/i.test(message);\n}\n\nexport function withTimeout<T>(\n promise: PromiseLike<T>,\n timeoutMs: number,\n operation: string,\n): Promise<T> {\n let timeoutId: ReturnType<typeof setTimeout> | null = null;\n\n const timeout = new Promise<never>((_, reject) => {\n timeoutId = setTimeout(() => {\n reject(new SyncTimeoutError(operation, timeoutMs));\n }, timeoutMs);\n });\n\n return Promise.race([Promise.resolve(promise), timeout]).finally(() => {\n if (timeoutId) clearTimeout(timeoutId);\n });\n}\n\nexport function withCloudOperationTimeout<T>(\n operation: string,\n promise: PromiseLike<T>,\n): Promise<T> {\n return withTimeout(promise, CLOUD_OPERATION_TIMEOUT_MS, operation);\n}\n","import { todayStr } from \"../dateHelpers\";\nimport type { LeetCodeSubmission } from \"../types\";\nimport type { StorageAdapter } from \"../storage/adapter\";\nimport type { CoreHooks } from \"../hooks\";\n\nexport type TodayLeetCodeCompletionAction = \"imported\" | \"linked_existing\" | \"rated\";\n\nexport interface LeetCodeCompletionIdentity {\n submissionDbId?: string | null;\n leetcodeSubmissionId?: string | null;\n titleSlug?: string | null;\n leetcodeNumber?: number | null;\n problemId?: string | null;\n}\n\nexport interface TodayLeetCodeCompletion extends Required<Pick<LeetCodeCompletionIdentity, \"submissionDbId\">> {\n key: string;\n date: string;\n leetcodeSubmissionId: string | null;\n titleSlug: string | null;\n leetcodeNumber: number | null;\n problemId: string;\n action: TodayLeetCodeCompletionAction;\n completedAt: string;\n}\n\nconst STORAGE_KEY_PREFIX = \"patternbank-today-leetcode-completions\";\n\nexport function buildTodayLeetCodeCompletionsStorageKey(today = todayStr()): string {\n return `${STORAGE_KEY_PREFIX}:${today}`;\n}\n\nexport function buildLeetCodeCompletionKey(identity: LeetCodeCompletionIdentity): string {\n const titleSlug = identity.titleSlug?.trim();\n if (titleSlug) return `slug:${titleSlug}`;\n if (typeof identity.leetcodeNumber === \"number\") return `number:${identity.leetcodeNumber}`;\n if (identity.problemId) return `problem:${identity.problemId}`;\n if (identity.leetcodeSubmissionId) return `leetcode-submission:${identity.leetcodeSubmissionId}`;\n return `submission:${identity.submissionDbId ?? \"\"}`;\n}\n\nexport function buildLeetCodeCompletionKeys(identity: LeetCodeCompletionIdentity): string[] {\n const keys: string[] = [];\n const titleSlug = identity.titleSlug?.trim();\n if (titleSlug) keys.push(`slug:${titleSlug}`);\n if (typeof identity.leetcodeNumber === \"number\") keys.push(`number:${identity.leetcodeNumber}`);\n if (identity.problemId) keys.push(`problem:${identity.problemId}`);\n if (identity.leetcodeSubmissionId) keys.push(`leetcode-submission:${identity.leetcodeSubmissionId}`);\n if (identity.submissionDbId) keys.push(`submission:${identity.submissionDbId}`);\n if (keys.length === 0) keys.push(buildLeetCodeCompletionKey(identity));\n return keys;\n}\n\nfunction findMatchingCompletion(\n identity: LeetCodeCompletionIdentity,\n completions: TodayLeetCodeCompletion[],\n): TodayLeetCodeCompletion | null {\n const identityKeys = new Set(buildLeetCodeCompletionKeys(identity));\n let match: TodayLeetCodeCompletion | null = null;\n\n for (const completion of completions) {\n const completionKeys = new Set([\n completion.key,\n ...buildLeetCodeCompletionKeys(completion),\n ]);\n const matches = [...identityKeys].some((key) => completionKeys.has(key));\n if (!matches) continue;\n if (!match || completion.completedAt > match.completedAt) match = completion;\n }\n\n return match;\n}\n\nfunction isCompletionRecord(value: unknown, today: string): value is TodayLeetCodeCompletion {\n if (!value || typeof value !== \"object\") return false;\n const record = value as Partial<TodayLeetCodeCompletion>;\n return (\n record.date === today\n && typeof record.key === \"string\"\n && typeof record.submissionDbId === \"string\"\n && typeof record.problemId === \"string\"\n && (record.action === \"imported\" || record.action === \"linked_existing\" || record.action === \"rated\")\n );\n}\n\n/** Pure raw-storage-value → records parse; platforms feed it their own reads. */\nexport function parseTodayLeetCodeCompletions(raw: string | null, today = todayStr()): TodayLeetCodeCompletion[] {\n try {\n const parsed = JSON.parse(raw ?? \"[]\") as unknown;\n if (!Array.isArray(parsed)) return [];\n return parsed\n .filter((record): record is TodayLeetCodeCompletion => isCompletionRecord(record, today))\n .map((record) => ({\n ...record,\n leetcodeSubmissionId: record.leetcodeSubmissionId ?? null,\n titleSlug: record.titleSlug ?? null,\n leetcodeNumber: record.leetcodeNumber ?? null,\n }));\n } catch {\n return [];\n }\n}\n\n/** Pure records → raw storage value; keeps only the given day's records. */\nexport function serializeTodayLeetCodeCompletions(\n completions: TodayLeetCodeCompletion[],\n today = todayStr(),\n): string {\n return JSON.stringify(completions.filter((record) => record.date === today));\n}\n\nexport async function loadTodayLeetCodeCompletions(\n storage: StorageAdapter,\n today = todayStr(),\n): Promise<TodayLeetCodeCompletion[]> {\n try {\n return parseTodayLeetCodeCompletions(\n await storage.getItem(buildTodayLeetCodeCompletionsStorageKey(today)),\n today,\n );\n } catch {\n return [];\n }\n}\n\nexport async function saveTodayLeetCodeCompletions(\n storage: StorageAdapter,\n completions: TodayLeetCodeCompletion[],\n today = todayStr(),\n hooks?: CoreHooks,\n): Promise<void> {\n try {\n await storage.setItem(\n buildTodayLeetCodeCompletionsStorageKey(today),\n serializeTodayLeetCodeCompletions(completions, today),\n );\n } catch (err) {\n hooks?.warn?.(\"Failed to save Today LeetCode completions\", err);\n }\n}\n\nexport function mergeTodayLeetCodeCompletion(\n completions: TodayLeetCodeCompletion[],\n completion: LeetCodeCompletionIdentity & {\n submissionDbId: string;\n problemId: string;\n action: TodayLeetCodeCompletionAction;\n completedAt?: string;\n },\n today = todayStr(),\n now = new Date().toISOString(),\n): TodayLeetCodeCompletion[] {\n const nextRecord: TodayLeetCodeCompletion = {\n key: buildLeetCodeCompletionKey(completion),\n date: today,\n completedAt: completion.completedAt ?? now,\n submissionDbId: completion.submissionDbId,\n leetcodeSubmissionId: completion.leetcodeSubmissionId || null,\n titleSlug: completion.titleSlug || null,\n leetcodeNumber: completion.leetcodeNumber ?? null,\n problemId: completion.problemId,\n action: completion.action,\n };\n const nextKeys = new Set(buildLeetCodeCompletionKeys(nextRecord));\n nextKeys.add(nextRecord.key);\n const matchingRecord = completions.find((record) => {\n if (record.date !== today) return false;\n const recordKeys = new Set([\n record.key,\n ...buildLeetCodeCompletionKeys(record),\n ]);\n return [...nextKeys].some((key) => recordKeys.has(key));\n });\n if (\n matchingRecord\n && matchingRecord.problemId === nextRecord.problemId\n && matchingRecord.action === nextRecord.action\n && matchingRecord.submissionDbId === nextRecord.submissionDbId\n && matchingRecord.leetcodeSubmissionId === nextRecord.leetcodeSubmissionId\n && matchingRecord.titleSlug === nextRecord.titleSlug\n && matchingRecord.leetcodeNumber === nextRecord.leetcodeNumber\n ) {\n return completions;\n }\n const withoutExisting = completions.filter((record) => {\n if (record.date !== today) return true;\n const recordKeys = new Set([\n record.key,\n ...buildLeetCodeCompletionKeys(record),\n ]);\n return ![...nextKeys].some((key) => recordKeys.has(key));\n });\n return [...withoutExisting, nextRecord];\n}\n\nexport async function addTodayLeetCodeCompletion(\n storage: StorageAdapter,\n completion: LeetCodeCompletionIdentity & {\n submissionDbId: string;\n problemId: string;\n action: TodayLeetCodeCompletionAction;\n },\n today = todayStr(),\n): Promise<TodayLeetCodeCompletion[]> {\n const next = mergeTodayLeetCodeCompletion(await loadTodayLeetCodeCompletions(storage, today), completion, today);\n await saveTodayLeetCodeCompletions(storage, next, today);\n return next;\n}\n\nexport function isLeetCodeSubmissionCompletedToday(\n identity: LeetCodeCompletionIdentity,\n completions: TodayLeetCodeCompletion[],\n): boolean {\n return findMatchingCompletion(identity, completions) !== null;\n}\n\nexport function buildLeetCodeSubmissionsWithCompletions(\n submissions: LeetCodeSubmission[],\n completions: TodayLeetCodeCompletion[],\n): LeetCodeSubmission[] {\n return submissions.map((submission) => {\n const completion = findMatchingCompletion({\n submissionDbId: submission.id,\n leetcodeSubmissionId: submission.leetcodeSubmissionId,\n titleSlug: submission.titleSlug,\n leetcodeNumber: submission.leetcodeNumber,\n problemId: submission.problemId,\n }, completions);\n if (!completion) return submission;\n return {\n ...submission,\n problemId: completion.problemId,\n status: completion.action,\n };\n });\n}\n","import { todayStr, utcToLocalDateStr } from \"./dateHelpers\";\nimport { prioritizeProblems } from \"./spacedRepetition\";\nimport { buildLeetCodeCompletionKey } from \"./leetcode/todayCompletions\";\nimport type { Confidence, Difficulty, LeetCodeSubmission, Problem, ReviewEvent, TodayLeetCodeItem } from \"./types\";\n\nexport interface TodayReviewState {\n todaysReviews: Problem[];\n totalDueCount: number;\n reviewedToday: number;\n effectiveGoal: number;\n remainingSlots: number;\n}\n\nexport interface DoneTodayFeedItem {\n id: string;\n problemId: string;\n title: string;\n leetcodeNumber: number | null;\n difficulty: Difficulty;\n confidence: Confidence;\n timestamp: string;\n}\n\nexport type TodayActivityFeedItem =\n | {\n type: \"pb_review\";\n id: string;\n problemId: string;\n title: string;\n leetcodeNumber: number | null;\n difficulty: Difficulty;\n confidence: Confidence;\n timestamp: string;\n }\n | {\n type: \"leetcode_solve\";\n id: string;\n submissionDbId: string;\n problemId: string;\n title: string;\n leetcodeNumber: number | null;\n difficulty: Difficulty;\n submittedAt: string;\n status: \"linked_existing\" | \"imported\" | \"rated\";\n reviewDue: boolean;\n canRate: boolean;\n };\n\nexport interface SolvedOnLeetCodeTodayIndex {\n problemIds: Set<string>;\n leetcodeNumbers: Set<number>;\n}\n\nexport interface ExitingTodayLeetCodeItem {\n key: string;\n item: TodayLeetCodeItem;\n}\n\nfunction coerceConfidence(confidence: number): Confidence {\n if (confidence === 1 || confidence === 2 || confidence === 3 || confidence === 4 || confidence === 5) {\n return confidence;\n }\n return 1;\n}\n\nfunction isDoneTodayLeetCodeStatus(\n status: LeetCodeSubmission[\"status\"],\n): status is \"detected\" | \"linked_existing\" | \"imported\" | \"rated\" {\n return status === \"detected\" || status === \"linked_existing\" || status === \"imported\" || status === \"rated\";\n}\n\nfunction leetcodeStatusRank(status: \"linked_existing\" | \"imported\" | \"rated\"): number {\n if (status === \"rated\") return 3;\n if (status === \"imported\") return 2;\n return 1;\n}\n\nfunction activityTimestamp(item: TodayActivityFeedItem): string {\n return item.type === \"pb_review\" ? item.timestamp : item.submittedAt;\n}\n\nexport function buildTodayReviewState(\n problems: Problem[],\n dailyGoal: number,\n today = todayStr(),\n): TodayReviewState {\n const allDueProblems = problems.filter((p) => p.nextReviewDate <= today && !p.excludeFromReview);\n const reviewedToday = problems.filter((p) => p.lastReviewed === today).length;\n const totalDueCount = allDueProblems.length;\n const effectiveGoal = Math.min(dailyGoal, totalDueCount + reviewedToday);\n const remainingSlots = Math.max(0, effectiveGoal - reviewedToday);\n const todaysReviews = prioritizeProblems(allDueProblems, remainingSlots, today);\n\n return {\n todaysReviews,\n totalDueCount,\n reviewedToday,\n effectiveGoal,\n remainingSlots,\n };\n}\n\nexport function buildDoneTodayFeedItems(\n problems: Problem[],\n reviewEvents: ReviewEvent[],\n today = todayStr(),\n): DoneTodayFeedItem[] {\n return buildTodayActivityFeedItems({\n problems,\n reviewEvents,\n leetcodeSubmissions: [],\n today,\n }).filter((item): item is DoneTodayFeedItem & { type: \"pb_review\" } => item.type === \"pb_review\");\n}\n\nexport function buildSolvedOnLeetCodeTodayIndex(\n leetcodeSubmissions: LeetCodeSubmission[],\n today = todayStr(),\n): SolvedOnLeetCodeTodayIndex {\n const problemIds = new Set<string>();\n const leetcodeNumbers = new Set<number>();\n\n for (const submission of leetcodeSubmissions) {\n if (submission.status === \"ignored\") continue;\n if (utcToLocalDateStr(submission.submittedAt) !== today) continue;\n if (submission.problemId) problemIds.add(submission.problemId);\n if (typeof submission.leetcodeNumber === \"number\") leetcodeNumbers.add(submission.leetcodeNumber);\n }\n\n return { problemIds, leetcodeNumbers };\n}\n\nexport function buildTodayLeetCodeItemKey(item: TodayLeetCodeItem): string {\n return buildLeetCodeCompletionKey({\n submissionDbId: item.submissionDbId,\n leetcodeSubmissionId: item.leetcodeSubmissionId,\n titleSlug: item.titleSlug,\n leetcodeNumber: item.leetcodeNumber,\n problemId: item.matchedProblemId,\n });\n}\n\nexport function buildRemovedTodayLeetCodeItems({\n previousItems,\n currentItems,\n exitingKeys,\n}: {\n previousItems: TodayLeetCodeItem[];\n currentItems: TodayLeetCodeItem[];\n exitingKeys: Set<string>;\n}): ExitingTodayLeetCodeItem[] {\n const currentKeys = new Set(currentItems.map(buildTodayLeetCodeItemKey));\n return previousItems\n .map((item) => ({ key: buildTodayLeetCodeItemKey(item), item }))\n .filter(({ key }) => !currentKeys.has(key) && !exitingKeys.has(key));\n}\n\nexport function buildTodayActivityFeedItems({\n problems,\n reviewEvents,\n leetcodeSubmissions,\n today = todayStr(),\n}: {\n problems: Problem[];\n reviewEvents: ReviewEvent[];\n leetcodeSubmissions: LeetCodeSubmission[];\n today?: string;\n}): TodayActivityFeedItem[] {\n const problemById = new Map(problems.map((problem) => [problem.id, problem]));\n const problemByNumber = new Map(\n problems\n .filter((problem): problem is Problem & { leetcodeNumber: number } => typeof problem.leetcodeNumber === \"number\")\n .map((problem) => [problem.leetcodeNumber, problem]),\n );\n const reviewedProblemIds = new Set<string>();\n const latestReviewByProblem = new Map<string, ReviewEvent>();\n\n for (const event of reviewEvents) {\n if (event.date !== today) continue;\n const problem = problemById.get(event.problemId);\n if (!problem) continue;\n reviewedProblemIds.add(event.problemId);\n const current = latestReviewByProblem.get(event.problemId);\n if (!current || event.timestamp > current.timestamp) {\n latestReviewByProblem.set(event.problemId, event);\n }\n }\n\n const pbItems: TodayActivityFeedItem[] = Array.from(latestReviewByProblem.values()).map((event) => {\n const problem = problemById.get(event.problemId)!;\n return {\n type: \"pb_review\",\n id: `pb-${event.problemId}-${event.timestamp}`,\n problemId: event.problemId,\n title: problem.title,\n leetcodeNumber: problem.leetcodeNumber,\n difficulty: problem.difficulty,\n confidence: coerceConfidence(event.confidence),\n timestamp: event.timestamp,\n };\n });\n\n const leetcodeByProblemId = new Map<string, Extract<TodayActivityFeedItem, { type: \"leetcode_solve\" }>>();\n\n for (const submission of leetcodeSubmissions) {\n if (!isDoneTodayLeetCodeStatus(submission.status)) continue;\n if (utcToLocalDateStr(submission.submittedAt) !== today) continue;\n\n const problem = (submission.problemId ? problemById.get(submission.problemId) : undefined)\n ?? (typeof submission.leetcodeNumber === \"number\" ? problemByNumber.get(submission.leetcodeNumber) : undefined);\n if (!problem?.id) continue;\n if (reviewedProblemIds.has(problem.id)) continue;\n\n const reviewDue = problem.nextReviewDate <= today && !problem.excludeFromReview;\n const alreadyReviewedToday = problem.lastReviewed === today || reviewedProblemIds.has(problem.id);\n const status = submission.status === \"detected\" ? \"linked_existing\" : submission.status;\n const item: Extract<TodayActivityFeedItem, { type: \"leetcode_solve\" }> = {\n type: \"leetcode_solve\",\n id: `lc-${submission.id}`,\n submissionDbId: submission.id,\n problemId: problem.id,\n title: problem.title,\n leetcodeNumber: problem.leetcodeNumber ?? submission.leetcodeNumber,\n difficulty: problem.difficulty,\n submittedAt: submission.submittedAt,\n status,\n reviewDue,\n canRate: reviewDue && !alreadyReviewedToday && status !== \"rated\",\n };\n\n const current = leetcodeByProblemId.get(problem.id);\n if (!current) {\n leetcodeByProblemId.set(problem.id, item);\n continue;\n }\n const nextRank = leetcodeStatusRank(item.status);\n const currentRank = leetcodeStatusRank(current.status);\n if (nextRank > currentRank || (nextRank === currentRank && item.submittedAt > current.submittedAt)) {\n leetcodeByProblemId.set(problem.id, item);\n }\n }\n\n return [...pbItems, ...leetcodeByProblemId.values()].sort((a, b) =>\n activityTimestamp(b).localeCompare(activityTimestamp(a)),\n );\n}\n","import { getDefaultFiveStarStreak } from \"../spacedRepetition\";\nimport type { CoreHooks } from \"../hooks\";\nimport type { Confidence, CorePreferences, Difficulty, Problem } from \"../types\";\n\n// ============================================================\n// FIELD MAPPING: camelCase (local storage) ↔ snake_case (Supabase)\n// ============================================================\n\nexport interface ProblemRow {\n id: string;\n user_id: string;\n title: string;\n leetcode_number: number | null;\n url: string | null;\n difficulty: string;\n patterns: string[];\n confidence: number;\n notes: string;\n exclude_from_review: boolean;\n date_added: string;\n last_reviewed: string | null;\n next_review_date: string;\n five_star_streak?: number | null;\n /** F-14: always a string on write; reads are validated with an epoch fallback. */\n updated_at: string;\n}\n\nexport interface ProblemTombstoneRow {\n user_id: string;\n problem_id: string;\n deleted_at: string;\n created_at?: string;\n updated_at?: string;\n}\n\nexport interface DataResetRow {\n user_id: string;\n reset_at: string;\n created_at?: string;\n updated_at?: string;\n}\n\nexport interface ReviewEventRow {\n problem_id: string;\n new_confidence: number;\n patterns: string[] | null;\n review_date: string;\n created_at: string;\n}\n\n/**\n * The subset of preferences that syncs to Supabase. Platforms may extend\n * their local Preferences (mobile adds notification fields) — only these\n * fields travel to the cloud. `updatedAt` powers newest-wins merge (F-6).\n */\nexport type CloudPreferences = Pick<\n CorePreferences,\n \"dailyReviewGoal\" | \"hidePatternsDuringReview\" | \"enabledExtraPatterns\" | \"updatedAt\"\n>;\n\nexport function toCloudPreferences(data: Record<string, unknown>): CloudPreferences {\n const prefs: CloudPreferences = {\n dailyReviewGoal: data.daily_review_goal as number,\n hidePatternsDuringReview: (data.hide_patterns_during_review as boolean) ?? false,\n enabledExtraPatterns: (data.enabled_extra_patterns as string[]) ?? [],\n };\n if (typeof data.updated_at === \"string\") {\n prefs.updatedAt = data.updated_at;\n }\n return prefs;\n}\n\n/** F-8: deterministic dedupe key shared by logReview and batch review-log inserts. */\nexport function reviewDedupeKey(userId: string, problemId: string, timestamp: string): string {\n return `review:${userId}:${problemId}:${timestamp}`;\n}\n\nconst EPOCH_ISO = new Date(0).toISOString();\n\n/**\n * F-14: a cloud row missing (or carrying an unparseable) `updated_at` falls\n * back to the epoch — never a silent `now()`, which would make the corrupt\n * row win last-write-wins merges — and reports through the `warn` hook.\n */\nfunction validateUpdatedAt(row: Record<string, unknown>, warn?: CoreHooks[\"warn\"]): string {\n const value = row.updated_at;\n if (typeof value === \"string\" && !Number.isNaN(Date.parse(value))) return value;\n warn?.(\"Supabase problem row has a missing or invalid updated_at; treating it as epoch\", {\n id: row.id,\n updated_at: value,\n });\n return EPOCH_ISO;\n}\n\nexport function toSnakeCase(problem: Problem): Omit<ProblemRow, \"user_id\"> {\n return {\n id: problem.id,\n title: problem.title,\n leetcode_number: problem.leetcodeNumber ?? null,\n url: problem.url ?? null,\n difficulty: problem.difficulty,\n patterns: problem.patterns,\n confidence: problem.confidence,\n notes: problem.notes ?? \"\",\n exclude_from_review: problem.excludeFromReview ?? false,\n date_added: problem.dateAdded,\n last_reviewed: problem.lastReviewed ?? null,\n next_review_date: problem.nextReviewDate,\n five_star_streak: problem.fiveStarStreak ?? getDefaultFiveStarStreak(problem.confidence),\n updated_at: problem.updatedAt || new Date().toISOString(),\n };\n}\n\nexport function toCamelCase(\n row: Record<string, unknown>,\n hooks?: Pick<CoreHooks, \"warn\">,\n): Problem {\n return {\n id: row.id as string,\n title: row.title as string,\n leetcodeNumber: (row.leetcode_number as number | null) ?? null,\n url: (row.url as string | null) ?? null,\n difficulty: row.difficulty as Difficulty,\n patterns: (row.patterns as string[]) ?? [],\n confidence: row.confidence as Confidence,\n notes: (row.notes as string) ?? \"\",\n excludeFromReview: (row.exclude_from_review as boolean) ?? false,\n dateAdded: row.date_added as string,\n lastReviewed: (row.last_reviewed as string | null) ?? null,\n nextReviewDate: row.next_review_date as string,\n fiveStarStreak:\n (row.five_star_streak as number | null | undefined) ??\n getDefaultFiveStarStreak(row.confidence as number),\n updatedAt: validateUpdatedAt(row, hooks?.warn),\n };\n}\n","import type { SupabaseClient } from \"@supabase/supabase-js\";\nimport { todayStr, utcToLocalDateStr } from \"../dateHelpers\";\nimport { CLOUD_OPERATION_TIMEOUT_MS, withTimeout } from \"../syncTimeout\";\nimport type { CoreHooks } from \"../hooks\";\nimport type {\n Confidence,\n DataReset,\n Problem,\n ProblemTombstone,\n ReviewEvent,\n ReviewHistoryEntry,\n ReviewLogEntry,\n} from \"../types\";\nimport {\n reviewDedupeKey,\n toCamelCase,\n toCloudPreferences,\n toSnakeCase,\n type CloudPreferences,\n type DataResetRow,\n type ProblemTombstoneRow,\n type ReviewEventRow,\n} from \"./mapping\";\n\nexport interface CreateCloudDataOptions {\n /**\n * Platform Supabase client. May be null (missing credentials) — every\n * returned function then no-ops with its `{ data: null, error: null }`-style\n * guard shape, exactly as both platforms behave today.\n */\n supabase: SupabaseClient | null;\n hooks?: CoreHooks;\n /** Per-operation cloud timeout (F-9). */\n timeoutMs?: number;\n}\n\nexport interface CloudData {\n fetchProblems(userId: string): Promise<{ data: Problem[] | null; error: unknown }>;\n upsertProblem(userId: string, problem: Problem): Promise<{ data: Problem | null; error: unknown }>;\n upsertProblems(userId: string, problems: Problem[]): Promise<{ data: Problem[] | null; error: unknown }>;\n deleteProblem(problemId: string): Promise<{ data: null; error: unknown }>;\n deleteProblems(problemIds: string[]): Promise<{ error: unknown }>;\n fetchProblemTombstones(userId: string): Promise<{ data: ProblemTombstone[] | null; error: unknown }>;\n upsertProblemTombstone(userId: string, tombstone: ProblemTombstone): Promise<{ error: unknown }>;\n upsertProblemTombstones(userId: string, tombstones: ProblemTombstone[]): Promise<{ error: unknown }>;\n fetchDataReset(userId: string): Promise<{ data: DataReset | null; error: unknown }>;\n upsertDataReset(userId: string, reset: DataReset): Promise<{ error: unknown }>;\n fetchReviewLog(userId: string): Promise<{ data: ReviewLogEntry[] | null; error: unknown }>;\n logReview(\n userId: string,\n problemId: string,\n oldConfidence: Confidence,\n newConfidence: Confidence,\n patterns?: string[],\n timestamp?: string,\n ): Promise<{ data: unknown; error: unknown }>;\n replaceReviewLog(\n userId: string,\n problemId: string,\n oldConfidence: Confidence,\n newConfidence: Confidence,\n patterns: string[],\n timestamp?: string,\n ): Promise<{ data: unknown; error: unknown }>;\n fetchReviewEvents(userId: string, since?: string): Promise<{ data: ReviewEvent[] | null; error: unknown }>;\n batchInsertReviewLogs(userId: string, events: ReviewEvent[]): Promise<{ error: unknown }>;\n fetchProblemReviewHistory(\n userId: string,\n problemId: string,\n ): Promise<{ data: ReviewHistoryEntry[] | null; error: unknown }>;\n fetchPreferences(userId: string): Promise<{ data: CloudPreferences | null; error: unknown }>;\n upsertPreferences(\n userId: string,\n prefs: CloudPreferences,\n ): Promise<{ data: CloudPreferences | null; error: unknown }>;\n submitFeedback(userId: string | null, message: string): Promise<{ error: unknown }>;\n deleteAllUserProblems(userId: string): Promise<{ error: unknown }>;\n deleteAllUserReviewLog(userId: string): Promise<{ error: unknown }>;\n}\n\nexport function createCloudData(options: CreateCloudDataOptions): CloudData {\n const { supabase, hooks = {}, timeoutMs = CLOUD_OPERATION_TIMEOUT_MS } = options;\n\n const timed = <T>(operation: string, promise: PromiseLike<T>): Promise<T> =>\n withTimeout(promise, timeoutMs, operation);\n\n const rowToProblem = (row: Record<string, unknown>): Problem => toCamelCase(row, hooks);\n\n // ============================================================\n // PROBLEMS\n // ============================================================\n\n async function fetchProblems(userId: string): Promise<{ data: Problem[] | null; error: unknown }> {\n if (!supabase) return { data: null, error: null };\n try {\n const { data, error } = await timed(\n \"fetch problems\",\n supabase\n .from(\"problems\")\n .select(\"*\")\n .eq(\"user_id\", userId),\n );\n if (error) return { data: null, error };\n return { data: (data as Record<string, unknown>[]).map(rowToProblem), error: null };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n async function upsertProblem(userId: string, problem: Problem): Promise<{ data: Problem | null; error: unknown }> {\n if (!supabase) return { data: null, error: null };\n try {\n const row = {\n ...toSnakeCase(problem),\n user_id: userId,\n };\n const { data, error } = await timed(\n \"upsert problem\",\n supabase\n .from(\"problems\")\n .upsert(row, { onConflict: \"id\" })\n .select()\n .single(),\n );\n if (error) return { data: null, error };\n return { data: rowToProblem(data as Record<string, unknown>), error: null };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n async function upsertProblems(userId: string, problems: Problem[]): Promise<{ data: Problem[] | null; error: unknown }> {\n if (!supabase || !problems.length) return { data: [], error: null };\n try {\n const rows = problems.map((p) => ({\n ...toSnakeCase(p),\n user_id: userId,\n }));\n const { data, error } = await timed(\n \"upsert problems\",\n supabase\n .from(\"problems\")\n .upsert(rows, { onConflict: \"id\" })\n .select(),\n );\n if (error) return { data: null, error };\n return { data: (data as Record<string, unknown>[]).map(rowToProblem), error: null };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n async function deleteProblem(problemId: string): Promise<{ data: null; error: unknown }> {\n if (!supabase) return { data: null, error: null };\n try {\n const { error } = await timed(\n \"delete problem\",\n supabase\n .from(\"problems\")\n .delete()\n .eq(\"id\", problemId),\n );\n return { data: null, error: error || null };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n async function deleteProblems(problemIds: string[]): Promise<{ error: unknown }> {\n if (!supabase || !problemIds.length) return { error: null };\n try {\n const { error } = await timed(\n \"delete problems\",\n supabase\n .from(\"problems\")\n .delete()\n .in(\"id\", problemIds),\n );\n return { error: error || null };\n } catch (err) {\n return { error: err };\n }\n }\n\n // ============================================================\n // PROBLEM TOMBSTONES\n // ============================================================\n\n async function fetchProblemTombstones(userId: string): Promise<{ data: ProblemTombstone[] | null; error: unknown }> {\n if (!supabase) return { data: null, error: null };\n try {\n const { data, error } = await timed(\n \"fetch problem tombstones\",\n supabase\n .from(\"problem_tombstones\")\n .select(\"problem_id, deleted_at\")\n .eq(\"user_id\", userId)\n .order(\"deleted_at\", { ascending: true }),\n );\n if (error) return { data: null, error };\n return {\n data: (data as ProblemTombstoneRow[]).map((row) => ({\n problemId: row.problem_id,\n deletedAt: row.deleted_at,\n })),\n error: null,\n };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n async function upsertProblemTombstone(userId: string, tombstone: ProblemTombstone): Promise<{ error: unknown }> {\n if (!supabase) return { error: null };\n try {\n const row: ProblemTombstoneRow = {\n user_id: userId,\n problem_id: tombstone.problemId,\n deleted_at: tombstone.deletedAt,\n updated_at: tombstone.deletedAt,\n };\n const { error } = await timed(\n \"upsert problem tombstone\",\n supabase\n .from(\"problem_tombstones\")\n .upsert(row, { onConflict: \"user_id,problem_id\" }),\n );\n return { error: error || null };\n } catch (err) {\n return { error: err };\n }\n }\n\n async function upsertProblemTombstones(userId: string, tombstones: ProblemTombstone[]): Promise<{ error: unknown }> {\n if (!supabase || !tombstones.length) return { error: null };\n try {\n const rows: ProblemTombstoneRow[] = tombstones.map((t) => ({\n user_id: userId,\n problem_id: t.problemId,\n deleted_at: t.deletedAt,\n updated_at: t.deletedAt,\n }));\n const { error } = await timed(\n \"upsert problem tombstones\",\n supabase\n .from(\"problem_tombstones\")\n .upsert(rows, { onConflict: \"user_id,problem_id\" }),\n );\n return { error: error || null };\n } catch (err) {\n return { error: err };\n }\n }\n\n // ============================================================\n // DATA RESET MARKER\n // ============================================================\n\n async function fetchDataReset(userId: string): Promise<{ data: DataReset | null; error: unknown }> {\n if (!supabase) return { data: null, error: null };\n try {\n const { data, error } = await timed(\n \"fetch data reset\",\n supabase\n .from(\"user_data_resets\")\n .select(\"reset_at\")\n .eq(\"user_id\", userId)\n .maybeSingle(),\n );\n if (error) return { data: null, error };\n if (!data) return { data: null, error: null };\n return { data: { resetAt: (data as DataResetRow).reset_at }, error: null };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n async function upsertDataReset(userId: string, reset: DataReset): Promise<{ error: unknown }> {\n if (!supabase) return { error: null };\n try {\n const row: DataResetRow = {\n user_id: userId,\n reset_at: reset.resetAt,\n updated_at: reset.resetAt,\n };\n const { error } = await timed(\n \"upsert data reset\",\n supabase\n .from(\"user_data_resets\")\n .upsert(row, { onConflict: \"user_id\" }),\n );\n return { error: error || null };\n } catch (err) {\n return { error: err };\n }\n }\n\n // ============================================================\n // REVIEW LOG\n // ============================================================\n\n async function fetchReviewLog(userId: string): Promise<{ data: ReviewLogEntry[] | null; error: unknown }> {\n if (!supabase) return { data: null, error: null };\n try {\n const { data, error } = await timed(\n \"fetch review log\",\n supabase\n .from(\"review_log\")\n .select(\"*\")\n .eq(\"user_id\", userId),\n );\n if (error) return { data: null, error };\n // Convert to the shape local storage uses: { date: \"2026-02-19\" }\n const log: ReviewLogEntry[] = (data as Array<{ review_date: string }>).map((row) => ({\n date: row.review_date,\n }));\n return { data: log, error: null };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n async function logReview(\n userId: string,\n problemId: string,\n oldConfidence: Confidence,\n newConfidence: Confidence,\n patterns: string[] = [],\n timestamp?: string,\n ): Promise<{ data: unknown; error: unknown }> {\n if (!supabase) return { data: null, error: null };\n try {\n const reviewTimestamp = timestamp ?? new Date().toISOString();\n const row: Record<string, unknown> = {\n user_id: userId,\n problem_id: problemId,\n old_confidence: oldConfidence,\n new_confidence: newConfidence,\n patterns,\n review_date: utcToLocalDateStr(reviewTimestamp) ?? todayStr(),\n created_at: reviewTimestamp,\n dedupe_key: reviewDedupeKey(userId, problemId, reviewTimestamp),\n };\n const { data, error } = await timed(\n \"log review\",\n supabase\n .from(\"review_log\")\n .upsert(row, { onConflict: \"dedupe_key\" })\n .select()\n .single(),\n );\n return { data, error: error || null };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n async function replaceReviewLog(\n userId: string,\n problemId: string,\n oldConfidence: Confidence,\n newConfidence: Confidence,\n patterns: string[],\n timestamp?: string,\n ): Promise<{ data: unknown; error: unknown }> {\n if (!supabase) return { data: null, error: null };\n try {\n const reviewTimestamp = timestamp ?? new Date().toISOString();\n const reviewDate = utcToLocalDateStr(reviewTimestamp) ?? todayStr();\n const dedupeKey = `leetcode-rating:${userId}:${problemId}:${reviewDate}`;\n\n const { error: deleteError } = await timed(\n \"delete same-day review log\",\n supabase\n .from(\"review_log\")\n .delete()\n .eq(\"user_id\", userId)\n .eq(\"problem_id\", problemId)\n .eq(\"review_date\", reviewDate),\n );\n if (deleteError) return { data: null, error: deleteError };\n\n const row: Record<string, unknown> = {\n user_id: userId,\n problem_id: problemId,\n old_confidence: oldConfidence,\n new_confidence: newConfidence,\n patterns,\n review_date: reviewDate,\n created_at: reviewTimestamp,\n dedupe_key: dedupeKey,\n };\n const { data, error } = await timed(\n \"replace review log\",\n supabase\n .from(\"review_log\")\n .upsert(row, { onConflict: \"dedupe_key\" })\n .select()\n .single(),\n );\n return { data, error: error || null };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n async function fetchReviewEvents(\n userId: string,\n since?: string,\n ): Promise<{ data: ReviewEvent[] | null; error: unknown }> {\n if (!supabase) return { data: null, error: null };\n try {\n const pageSize = 1000;\n const rows: ReviewEventRow[] = [];\n\n for (let from = 0; ; from += pageSize) {\n let query = supabase\n .from(\"review_log\")\n .select(\"problem_id, new_confidence, patterns, review_date, created_at\")\n .eq(\"user_id\", userId);\n\n if (since) {\n query = query.gte(\"created_at\", since);\n }\n\n const { data, error } = await timed(\n \"fetch review events\",\n query\n .order(\"created_at\", { ascending: true })\n .range(from, from + pageSize - 1),\n );\n if (error) return { data: null, error };\n\n const page = (data ?? []) as ReviewEventRow[];\n rows.push(...page);\n if (page.length < pageSize) break;\n }\n\n const events: ReviewEvent[] = rows.map((row) => ({\n date: row.review_date,\n problemId: row.problem_id,\n confidence: row.new_confidence,\n patterns: row.patterns ?? [],\n timestamp: row.created_at,\n }));\n return { data: events, error: null };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n async function batchInsertReviewLogs(userId: string, events: ReviewEvent[]): Promise<{ error: unknown }> {\n if (!supabase || !events.length) return { error: null };\n try {\n const rows = events.map((event) => ({\n user_id: userId,\n problem_id: event.problemId,\n old_confidence: null,\n new_confidence: event.confidence,\n patterns: event.patterns,\n review_date: event.date,\n created_at: event.timestamp,\n dedupe_key: reviewDedupeKey(userId, event.problemId, event.timestamp),\n }));\n const chunkSize = 500;\n for (let i = 0; i < rows.length; i += chunkSize) {\n const { error } = await timed(\n \"batch insert review logs\",\n supabase\n .from(\"review_log\")\n .upsert(rows.slice(i, i + chunkSize), { onConflict: \"dedupe_key\" }),\n );\n if (error) return { error };\n }\n return { error: null };\n } catch (err) {\n return { error: err };\n }\n }\n\n async function fetchProblemReviewHistory(\n userId: string,\n problemId: string,\n ): Promise<{ data: ReviewHistoryEntry[] | null; error: unknown }> {\n if (!supabase) return { data: null, error: null };\n try {\n const { data, error } = await timed(\n \"fetch problem review history\",\n supabase\n .from(\"review_log\")\n .select(\"review_date, new_confidence, created_at\")\n .eq(\"user_id\", userId)\n .eq(\"problem_id\", problemId)\n .order(\"created_at\", { ascending: false }),\n );\n if (error) return { data: null, error };\n const history: ReviewHistoryEntry[] = (\n data as Array<{ review_date: string; new_confidence: number; created_at: string }>\n ).map((row) => ({\n reviewDate: row.review_date,\n newConfidence: row.new_confidence,\n createdAt: row.created_at,\n }));\n return { data: history, error: null };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n // ============================================================\n // PREFERENCES\n // ============================================================\n\n async function fetchPreferences(userId: string): Promise<{ data: CloudPreferences | null; error: unknown }> {\n if (!supabase) return { data: null, error: null };\n try {\n const { data, error } = await timed(\n \"fetch preferences\",\n supabase\n .from(\"user_preferences\")\n .select(\"*\")\n .eq(\"user_id\", userId)\n .maybeSingle(),\n );\n if (error) return { data: null, error };\n if (!data) return { data: null, error: null };\n return { data: toCloudPreferences(data as Record<string, unknown>), error: null };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n async function upsertPreferences(\n userId: string,\n prefs: CloudPreferences,\n ): Promise<{ data: CloudPreferences | null; error: unknown }> {\n if (!supabase) return { data: null, error: null };\n try {\n const row = {\n user_id: userId,\n daily_review_goal: prefs.dailyReviewGoal,\n hide_patterns_during_review: prefs.hidePatternsDuringReview,\n enabled_extra_patterns: prefs.enabledExtraPatterns,\n updated_at: prefs.updatedAt ?? new Date().toISOString(),\n };\n const { data, error } = await timed(\n \"upsert preferences\",\n supabase\n .from(\"user_preferences\")\n .upsert(row, { onConflict: \"user_id\" })\n .select()\n .single(),\n );\n if (error) return { data: null, error };\n return { data: toCloudPreferences(data as Record<string, unknown>), error: null };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n // ============================================================\n // FEEDBACK\n // ============================================================\n\n async function submitFeedback(userId: string | null, message: string): Promise<{ error: unknown }> {\n if (!supabase) return { error: new Error(\"Supabase not configured\") };\n try {\n const { error } = await timed(\n \"submit feedback\",\n supabase\n .from(\"feedback\")\n .insert({\n user_id: userId || null,\n message: message.trim(),\n }),\n );\n return { error: error || null };\n } catch (err) {\n return { error: err };\n }\n }\n\n // ============================================================\n // BULK DELETE (clear all user data)\n // ============================================================\n\n async function deleteAllUserProblems(userId: string): Promise<{ error: unknown }> {\n if (!supabase) return { error: null };\n try {\n const { error } = await timed(\n \"delete all user problems\",\n supabase.from(\"problems\").delete().eq(\"user_id\", userId),\n );\n return { error: error || null };\n } catch (err) {\n return { error: err };\n }\n }\n\n async function deleteAllUserReviewLog(userId: string): Promise<{ error: unknown }> {\n if (!supabase) return { error: null };\n try {\n const { error } = await timed(\n \"delete all user review log\",\n supabase.from(\"review_log\").delete().eq(\"user_id\", userId),\n );\n return { error: error || null };\n } catch (err) {\n return { error: err };\n }\n }\n\n return {\n fetchProblems,\n upsertProblem,\n upsertProblems,\n deleteProblem,\n deleteProblems,\n fetchProblemTombstones,\n upsertProblemTombstone,\n upsertProblemTombstones,\n fetchDataReset,\n upsertDataReset,\n fetchReviewLog,\n logReview,\n replaceReviewLog,\n fetchReviewEvents,\n batchInsertReviewLogs,\n fetchProblemReviewHistory,\n fetchPreferences,\n upsertPreferences,\n submitFeedback,\n deleteAllUserProblems,\n deleteAllUserReviewLog,\n };\n}\n","import type { SupabaseClient } from \"@supabase/supabase-js\";\nimport {\n CLOUD_OPERATION_TIMEOUT_MS,\n LEETCODE_ACTIVITY_TIMEOUT_MS,\n withTimeout,\n} from \"../syncTimeout\";\nimport type {\n Difficulty,\n LeetCodeConnection,\n LeetCodeIgnoredImport,\n LeetCodeSubmission,\n LeetCodeSubmissionStatus,\n LeetCodeSyncStatus,\n LeetCodeSyncSummary,\n} from \"../types\";\n\nexport const LEETCODE_RECENT_ACTIVITY_LIMIT = 100;\n\nexport interface LeetCodeConnectionRow {\n user_id: string;\n leetcode_username: string;\n leetcode_display_name?: string | null;\n leetcode_avatar_url?: string | null;\n leetcode_total_solved?: number | null;\n last_seen_accepted_count?: number | null;\n last_synced_at?: string | null;\n last_sync_started_at?: string | null;\n sync_status: string;\n sync_error?: string | null;\n created_at?: string;\n updated_at?: string;\n}\n\nexport interface LeetCodeSubmissionRow {\n id: string;\n user_id: string;\n leetcode_username: string;\n leetcode_submission_id: string;\n title_slug: string;\n title: string;\n leetcode_number?: number | null;\n difficulty?: string | null;\n submitted_at: string;\n problem_id?: string | null;\n status: string;\n created_at?: string;\n updated_at?: string;\n}\n\nexport interface LeetCodeIgnoredImportRow {\n user_id: string;\n title_slug: string;\n leetcode_number?: number | null;\n ignored_at?: string;\n created_at?: string;\n}\n\nexport interface LeetCodeActivityFunctionResponse {\n connection: LeetCodeConnection | null;\n submissions: LeetCodeSubmission[];\n ignoredImports: LeetCodeIgnoredImport[];\n summary: LeetCodeSyncSummary;\n error?: string;\n}\n\nexport interface LeetCodeActivityResult {\n data: LeetCodeActivityFunctionResponse | null;\n error: string | null;\n}\n\nconst SAFE_ERROR_MESSAGES = new Set([\n \"Invalid LeetCode username.\",\n \"We could not see recent accepted submissions.\",\n \"LeetCode rate limited the request. Try again later.\",\n \"LeetCode activity sync failed. Try again later.\",\n \"Sign in to track LeetCode activity across devices.\",\n]);\n\nfunction isLeetCodeSyncStatus(value: string): value is LeetCodeSyncStatus {\n return [\"idle\", \"syncing\", \"synced\", \"error\", \"no_visible_submissions\", \"rate_limited\"].includes(value);\n}\n\nfunction isLeetCodeSubmissionStatus(value: string): value is LeetCodeSubmissionStatus {\n return [\"detected\", \"linked_existing\", \"pending\", \"imported\", \"ignored\", \"rated\"].includes(value);\n}\n\nfunction isDifficulty(value: string | null | undefined): value is Difficulty {\n return value === \"Easy\" || value === \"Medium\" || value === \"Hard\";\n}\n\nexport function normalizeLeetCodeUsername(input: string): string {\n const trimmed = input.trim();\n if (!trimmed) return \"\";\n\n try {\n const url = new URL(trimmed);\n if (!url.hostname.includes(\"leetcode.com\")) return trimmed;\n const parts = url.pathname.split(\"/\").filter(Boolean);\n if (parts[0] === \"u\" && parts[1]) return parts[1];\n if (parts[0] && ![\"problems\", \"contest\", \"discuss\"].includes(parts[0])) return parts[0];\n return \"\";\n } catch {\n return trimmed.replace(/^@/, \"\");\n }\n}\n\nexport function sanitizeLeetCodeActivityError(error: unknown): string {\n if (typeof error === \"string\" && SAFE_ERROR_MESSAGES.has(error)) return error;\n if (error && typeof error === \"object\" && \"message\" in error) {\n const message = String((error as { message?: unknown }).message ?? \"\");\n if (SAFE_ERROR_MESSAGES.has(message)) return message;\n if (/invalid leetcode username/i.test(message)) return \"Invalid LeetCode username.\";\n if (/rate limit|rate_limited|429/i.test(message)) return \"LeetCode rate limited the request. Try again later.\";\n // Keep private_or_empty for older Edge responses from before the status rename.\n if (/no visible|private_or_empty|no_visible_submissions/i.test(message)) {\n return \"We could not see recent accepted submissions.\";\n }\n }\n return \"LeetCode activity sync failed. Try again later.\";\n}\n\nexport function toLeetCodeConnection(row: LeetCodeConnectionRow): LeetCodeConnection {\n return {\n userId: row.user_id,\n leetcodeUsername: row.leetcode_username,\n leetcodeDisplayName: row.leetcode_display_name ?? null,\n leetcodeAvatarUrl: row.leetcode_avatar_url ?? null,\n leetcodeTotalSolved: row.leetcode_total_solved ?? null,\n lastSeenAcceptedCount: row.last_seen_accepted_count ?? null,\n lastSyncedAt: row.last_synced_at ?? null,\n lastSyncStartedAt: row.last_sync_started_at ?? null,\n syncStatus: isLeetCodeSyncStatus(row.sync_status) ? row.sync_status : \"error\",\n syncError: row.sync_error ?? null,\n createdAt: row.created_at,\n updatedAt: row.updated_at,\n };\n}\n\nexport function toLeetCodeSubmission(row: LeetCodeSubmissionRow): LeetCodeSubmission {\n return {\n id: row.id,\n userId: row.user_id,\n leetcodeUsername: row.leetcode_username,\n leetcodeSubmissionId: row.leetcode_submission_id,\n titleSlug: row.title_slug,\n title: row.title,\n leetcodeNumber: row.leetcode_number ?? null,\n difficulty: isDifficulty(row.difficulty) ? row.difficulty : null,\n submittedAt: row.submitted_at,\n problemId: row.problem_id ?? null,\n status: isLeetCodeSubmissionStatus(row.status) ? row.status : \"detected\",\n createdAt: row.created_at,\n updatedAt: row.updated_at,\n };\n}\n\nexport function toLeetCodeIgnoredImport(row: LeetCodeIgnoredImportRow): LeetCodeIgnoredImport {\n return {\n userId: row.user_id,\n titleSlug: row.title_slug,\n leetcodeNumber: row.leetcode_number ?? null,\n ignoredAt: row.ignored_at,\n createdAt: row.created_at,\n };\n}\n\nfunction normalizeFunctionResponse(data: unknown): LeetCodeActivityFunctionResponse {\n const payload = (data ?? {}) as Partial<LeetCodeActivityFunctionResponse>;\n return {\n connection: payload.connection ?? null,\n submissions: payload.submissions ?? [],\n ignoredImports: payload.ignoredImports ?? [],\n summary: payload.summary ?? {},\n error: payload.error,\n };\n}\n\nexport interface CreateLeetCodeActivityDataOptions {\n /** Platform Supabase client; null falls back to the no-op guard shapes. */\n supabase: SupabaseClient | null;\n /** Per-operation timeout for table reads (F-9). */\n timeoutMs?: number;\n /** Timeout for the sync-leetcode-activity Edge Function invoke. */\n invokeTimeoutMs?: number;\n}\n\nexport interface LeetCodeActivityData {\n fetchLeetCodeConnection(userId: string): Promise<{ data: LeetCodeConnection | null; error: unknown }>;\n fetchRecentLeetCodeSubmissions(\n userId: string,\n limit?: number,\n ): Promise<{ data: LeetCodeSubmission[] | null; error: unknown }>;\n fetchLeetCodeIgnoredImports(userId: string): Promise<{ data: LeetCodeIgnoredImport[] | null; error: unknown }>;\n connectLeetCodeActivity(username: string): Promise<LeetCodeActivityResult>;\n syncLeetCodeActivity(force?: boolean): Promise<LeetCodeActivityResult>;\n disconnectLeetCodeActivity(): Promise<LeetCodeActivityResult>;\n markLeetCodeImportImported(submissionDbId: string, problemId: string): Promise<LeetCodeActivityResult>;\n markLeetCodeImportLinkedExisting(submissionDbId: string, problemId: string): Promise<LeetCodeActivityResult>;\n ignoreLeetCodeImport(submissionDbId: string): Promise<LeetCodeActivityResult>;\n restoreIgnoredLeetCodeImport(titleSlug: string): Promise<LeetCodeActivityResult>;\n markLeetCodeSubmissionRated(submissionDbId: string, problemId: string): Promise<LeetCodeActivityResult>;\n}\n\nexport function createLeetCodeActivityData(options: CreateLeetCodeActivityDataOptions): LeetCodeActivityData {\n const {\n supabase,\n timeoutMs = CLOUD_OPERATION_TIMEOUT_MS,\n invokeTimeoutMs = LEETCODE_ACTIVITY_TIMEOUT_MS,\n } = options;\n\n const timed = <T>(operation: string, promise: PromiseLike<T>): Promise<T> =>\n withTimeout(promise, timeoutMs, operation);\n\n async function fetchLeetCodeConnection(\n userId: string,\n ): Promise<{ data: LeetCodeConnection | null; error: unknown }> {\n if (!supabase) return { data: null, error: null };\n try {\n const { data, error } = await timed(\n \"fetch LeetCode connection\",\n supabase\n .from(\"leetcode_connections\")\n .select(\"*\")\n .eq(\"user_id\", userId)\n .maybeSingle(),\n );\n if (error) return { data: null, error };\n return {\n data: data ? toLeetCodeConnection(data as LeetCodeConnectionRow) : null,\n error: null,\n };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n async function fetchRecentLeetCodeSubmissions(\n userId: string,\n limit = LEETCODE_RECENT_ACTIVITY_LIMIT,\n ): Promise<{ data: LeetCodeSubmission[] | null; error: unknown }> {\n if (!supabase) return { data: [], error: null };\n try {\n const { data, error } = await timed(\n \"fetch LeetCode submissions\",\n supabase\n .from(\"leetcode_submissions\")\n .select(\"*\")\n .eq(\"user_id\", userId)\n .order(\"submitted_at\", { ascending: false })\n .limit(limit),\n );\n if (error) return { data: null, error };\n return {\n data: ((data ?? []) as LeetCodeSubmissionRow[]).map(toLeetCodeSubmission),\n error: null,\n };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n async function fetchLeetCodeIgnoredImports(\n userId: string,\n ): Promise<{ data: LeetCodeIgnoredImport[] | null; error: unknown }> {\n if (!supabase) return { data: [], error: null };\n try {\n const { data, error } = await timed(\n \"fetch LeetCode ignored imports\",\n supabase\n .from(\"leetcode_ignored_imports\")\n .select(\"*\")\n .eq(\"user_id\", userId)\n .order(\"ignored_at\", { ascending: false }),\n );\n if (error) return { data: null, error };\n return {\n data: ((data ?? []) as LeetCodeIgnoredImportRow[]).map(toLeetCodeIgnoredImport),\n error: null,\n };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n async function invokeLeetCodeActivity(body: Record<string, unknown>): Promise<LeetCodeActivityResult> {\n if (!supabase) {\n return { data: null, error: \"LeetCode activity sync failed. Try again later.\" };\n }\n try {\n const { data, error } = await withTimeout(\n supabase.functions.invoke(\"sync-leetcode-activity\", { body }),\n invokeTimeoutMs,\n \"sync LeetCode activity\",\n );\n if (error) return { data: null, error: sanitizeLeetCodeActivityError(error) };\n const normalized = normalizeFunctionResponse(data);\n if (normalized.error) {\n return { data: normalized, error: sanitizeLeetCodeActivityError(normalized.error) };\n }\n return { data: normalized, error: null };\n } catch (err) {\n return { data: null, error: sanitizeLeetCodeActivityError(err) };\n }\n }\n\n function connectLeetCodeActivity(username: string): Promise<LeetCodeActivityResult> {\n return invokeLeetCodeActivity({\n action: \"connect\",\n username: normalizeLeetCodeUsername(username),\n });\n }\n\n function syncLeetCodeActivity(force = false): Promise<LeetCodeActivityResult> {\n return invokeLeetCodeActivity({ action: \"sync\", force });\n }\n\n function disconnectLeetCodeActivity(): Promise<LeetCodeActivityResult> {\n return invokeLeetCodeActivity({ action: \"disconnect\" });\n }\n\n function markLeetCodeImportImported(\n submissionDbId: string,\n problemId: string,\n ): Promise<LeetCodeActivityResult> {\n return invokeLeetCodeActivity({ action: \"mark_imported\", submissionDbId, problemId });\n }\n\n function markLeetCodeImportLinkedExisting(\n submissionDbId: string,\n problemId: string,\n ): Promise<LeetCodeActivityResult> {\n return invokeLeetCodeActivity({ action: \"mark_linked_existing\", submissionDbId, problemId });\n }\n\n function ignoreLeetCodeImport(submissionDbId: string): Promise<LeetCodeActivityResult> {\n return invokeLeetCodeActivity({ action: \"ignore_import\", submissionDbId });\n }\n\n function restoreIgnoredLeetCodeImport(titleSlug: string): Promise<LeetCodeActivityResult> {\n return invokeLeetCodeActivity({ action: \"restore_ignored_import\", titleSlug });\n }\n\n function markLeetCodeSubmissionRated(\n submissionDbId: string,\n problemId: string,\n ): Promise<LeetCodeActivityResult> {\n return invokeLeetCodeActivity({ action: \"mark_rated\", submissionDbId, problemId });\n }\n\n return {\n fetchLeetCodeConnection,\n fetchRecentLeetCodeSubmissions,\n fetchLeetCodeIgnoredImports,\n connectLeetCodeActivity,\n syncLeetCodeActivity,\n disconnectLeetCodeActivity,\n markLeetCodeImportImported,\n markLeetCodeImportLinkedExisting,\n ignoreLeetCodeImport,\n restoreIgnoredLeetCodeImport,\n markLeetCodeSubmissionRated,\n };\n}\n","// Curated problem lists for PatternBank\n// Verified against leetcodeProblems.js (3,846 problems) on March 2, 2026\n// Pattern assignments use PatternBank's 18 patterns from constants.js\n\nimport { getProblemByNumber } from \"./problems\";\nimport type { LeetCodeProblem, ListSummary, ProblemList } from \"../types\";\n\n// ============================================================\n// SHARED PATTERN MAP\n// Each LC problem number → its primary PatternBank pattern\n// One source of truth — shared across all lists\n// ============================================================\n\nconst PATTERN_MAP: Record<number, string> = {\n // Hash Table\n 1: \"Hash Table\", // Two Sum\n 7: \"Hash Table\", // Reverse Integer\n 8: \"Hash Table\", // String to Integer (atoi)\n 9: \"Hash Table\", // Palindrome Number\n 13: \"Hash Table\", // Roman to Integer\n 14: \"Hash Table\", // Longest Common Prefix\n 31: \"Hash Table\", // Next Permutation\n 36: \"Hash Table\", // Valid Sudoku\n 41: \"Hash Table\", // First Missing Positive\n 49: \"Hash Table\", // Group Anagrams\n 67: \"Hash Table\", // Add Binary\n 128: \"Hash Table\", // Longest Consecutive Sequence\n 136: \"Hash Table\", // Single Number\n 169: \"Hash Table\", // Majority Element\n 189: \"Hash Table\", // Rotate Array\n 190: \"Hash Table\", // Reverse Bits\n 191: \"Hash Table\", // Number of 1 Bits\n 217: \"Hash Table\", // Contains Duplicate\n 238: \"Hash Table\", // Product of Array Except Self\n 242: \"Hash Table\", // Valid Anagram\n 268: \"Hash Table\", // Missing Number\n 271: \"Hash Table\", // Encode and Decode Strings\n 338: \"Hash Table\", // Counting Bits\n 347: \"Hash Table\", // Top K Frequent Elements\n 380: \"Hash Table\", // Insert Delete GetRandom O(1)\n 383: \"Hash Table\", // Ransom Note\n 409: \"Hash Table\", // Longest Palindrome\n 525: \"Hash Table\", // Contiguous Array\n 560: \"Hash Table\", // Subarray Sum Equals K\n 43: \"Hash Table\", // Multiply Strings\n 66: \"Hash Table\", // Plus One\n 202: \"Hash Table\", // Happy Number\n 371: \"Hash Table\", // Sum of Two Integers\n 2013: \"Hash Table\", // Detect Squares\n 27: \"Hash Table\", // Remove Element\n 122: \"Hash Table\", // Best Time to Buy And Sell Stock II\n 168: \"Hash Table\", // Excel Sheet Column Title\n 201: \"Hash Table\", // Bitwise AND of Numbers Range\n 229: \"Hash Table\", // Majority Element II\n 304: \"Hash Table\", // Range Sum Query 2D Immutable\n 705: \"Hash Table\", // Design HashSet\n 706: \"Hash Table\", // Design HashMap\n 867: \"Hash Table\", // Transpose Matrix\n 912: \"Hash Table\", // Sort an Array\n 1071: \"Hash Table\", // Greatest Common Divisor of Strings\n 1929: \"Hash Table\", // Concatenation of Array\n 2807: \"Hash Table\", // Insert Greatest Common Divisors in Linked List\n 3133: \"Hash Table\", // Minimum Array End\n\n // Two Pointers\n 11: \"Two Pointers\", // Container With Most Water\n 15: \"Two Pointers\", // 3Sum\n 16: \"Two Pointers\", // 3Sum Closest\n 42: \"Two Pointers\", // Trapping Rain Water\n 75: \"Two Pointers\", // Sort Colors\n 125: \"Two Pointers\", // Valid Palindrome\n 167: \"Two Pointers\", // Two Sum II\n 283: \"Two Pointers\", // Move Zeroes\n 287: \"Two Pointers\", // Find the Duplicate Number\n 977: \"Two Pointers\", // Squares of a Sorted Array\n 18: \"Two Pointers\", // 4Sum\n 26: \"Two Pointers\", // Remove Duplicates From Sorted Array\n 88: \"Two Pointers\", // Merge Sorted Array\n 344: \"Two Pointers\", // Reverse String\n 680: \"Two Pointers\", // Valid Palindrome II\n 881: \"Two Pointers\", // Boats to Save People\n 1768: \"Two Pointers\", // Merge Strings Alternately\n\n // Sliding Window\n 3: \"Sliding Window\", // Longest Substring Without Repeating Characters\n 76: \"Sliding Window\", // Minimum Window Substring\n 239: \"Sliding Window\", // Sliding Window Maximum\n 424: \"Sliding Window\", // Longest Repeating Character Replacement\n 438: \"Sliding Window\", // Find All Anagrams in a String\n 567: \"Sliding Window\", // Permutation in String\n 209: \"Sliding Window\", // Minimum Size Subarray Sum\n 219: \"Sliding Window\", // Contains Duplicate II\n\n // Binary Search\n 4: \"Binary Search\", // Median of Two Sorted Arrays\n 33: \"Binary Search\", // Search in Rotated Sorted Array\n 34: \"Binary Search\", // Find First and Last Position\n 35: \"Binary Search\", // Search Insert Position\n 50: \"Binary Search\", // Pow(x, n)\n 74: \"Binary Search\", // Search a 2D Matrix\n 153: \"Binary Search\", // Find Minimum in Rotated Sorted Array\n 240: \"Binary Search\", // Search a 2D Matrix II\n 278: \"Binary Search\", // First Bad Version\n 528: \"Binary Search\", // Random Pick with Weight\n 658: \"Binary Search\", // Find K Closest Elements\n 704: \"Binary Search\", // Binary Search\n 875: \"Binary Search\", // Koko Eating Bananas\n 981: \"Binary Search\", // Time Based Key-Value Store\n 69: \"Binary Search\", // Sqrt(x)\n 81: \"Binary Search\", // Search In Rotated Sorted Array II\n 374: \"Binary Search\", // Guess Number Higher Or Lower\n 410: \"Binary Search\", // Split Array Largest Sum\n 1011: \"Binary Search\", // Capacity to Ship Packages Within D Days\n 1095: \"Binary Search\", // Find in Mountain Array\n\n // Sorting\n 48: \"Sorting\", // Rotate Image\n 54: \"Sorting\", // Spiral Matrix\n 56: \"Sorting\", // Merge Intervals\n 57: \"Sorting\", // Insert Interval\n 73: \"Sorting\", // Set Matrix Zeroes\n 179: \"Sorting\", // Largest Number\n 252: \"Sorting\", // Meeting Rooms\n 253: \"Sorting\", // Meeting Rooms II\n 435: \"Sorting\", // Non-overlapping Intervals\n 759: \"Sorting\", // Employee Free Time\n 1851: \"Sorting\", // Minimum Interval to Include Each Query\n 2402: \"Sorting\", // Meeting Rooms III\n\n // Linked List\n 2: \"Linked List\", // Add Two Numbers\n 19: \"Linked List\", // Remove Nth Node From End of List\n 21: \"Linked List\", // Merge Two Sorted Lists\n 24: \"Linked List\", // Swap Nodes in Pairs\n 25: \"Linked List\", // Reverse Nodes in k-Group\n 61: \"Linked List\", // Rotate List\n 138: \"Linked List\", // Copy List with Random Pointer\n 141: \"Linked List\", // Linked List Cycle\n 142: \"Linked List\", // Linked List Cycle II\n 143: \"Linked List\", // Reorder List\n 146: \"Linked List\", // LRU Cache\n 148: \"Linked List\", // Sort List\n 160: \"Linked List\", // Intersection of Two Linked Lists\n 206: \"Linked List\", // Reverse Linked List\n 234: \"Linked List\", // Palindrome Linked List\n 328: \"Linked List\", // Odd Even Linked List\n 876: \"Linked List\", // Middle of the Linked List\n 92: \"Linked List\", // Reverse Linked List II\n 460: \"Linked List\", // LFU Cache\n 622: \"Linked List\", // Design Circular Queue\n\n // Stack\n 20: \"Stack\", // Valid Parentheses\n 84: \"Stack\", // Largest Rectangle in Histogram\n 150: \"Stack\", // Evaluate Reverse Polish Notation\n 155: \"Stack\", // Min Stack\n 224: \"Stack\", // Basic Calculator\n 227: \"Stack\", // Basic Calculator II\n 232: \"Stack\", // Implement Queue using Stacks\n 394: \"Stack\", // Decode String\n 735: \"Stack\", // Asteroid Collision\n 739: \"Stack\", // Daily Temperatures\n 844: \"Stack\", // Backspace String Compare\n 895: \"Stack\", // Maximum Frequency Stack\n 853: \"Stack\", // Car Fleet\n 71: \"Stack\", // Simplify Path\n 225: \"Stack\", // Implement Stack Using Queues\n 682: \"Stack\", // Baseball Game\n 901: \"Stack\", // Online Stock Span\n\n // Tree\n 94: \"Tree\", // Binary Tree Inorder Traversal\n 98: \"Tree\", // Validate Binary Search Tree\n 100: \"Tree\", // Same Tree\n 101: \"Tree\", // Symmetric Tree\n 104: \"Tree\", // Maximum Depth of Binary Tree\n 105: \"Tree\", // Construct Binary Tree from Preorder and Inorder\n 108: \"Tree\", // Convert Sorted Array to Binary Search Tree\n 110: \"Tree\", // Balanced Binary Tree\n 113: \"Tree\", // Path Sum II\n 114: \"Tree\", // Flatten Binary Tree to Linked List\n 124: \"Tree\", // Binary Tree Maximum Path Sum\n 226: \"Tree\", // Invert Binary Tree\n 230: \"Tree\", // Kth Smallest Element in a BST\n 235: \"Tree\", // Lowest Common Ancestor of a BST\n 236: \"Tree\", // Lowest Common Ancestor of a Binary Tree\n 285: \"Tree\", // Inorder Successor in BST\n 297: \"Tree\", // Serialize and Deserialize Binary Tree\n 437: \"Tree\", // Path Sum III\n 543: \"Tree\", // Diameter of Binary Tree\n 572: \"Tree\", // Subtree of Another Tree\n 1448: \"Tree\", // Count Good Nodes in Binary Tree\n 144: \"Tree\", // Binary Tree Preorder Traversal\n 145: \"Tree\", // Binary Tree Postorder Traversal\n 337: \"Tree\", // House Robber III\n 427: \"Tree\", // Construct Quad Tree\n 450: \"Tree\", // Delete Node in a BST\n 701: \"Tree\", // Insert into a Binary Search Tree\n 1325: \"Tree\", // Delete Leaves With a Given Value\n\n // BFS\n 102: \"BFS\", // Binary Tree Level Order Traversal\n 103: \"BFS\", // Binary Tree Zigzag Level Order Traversal\n 127: \"BFS\", // Word Ladder\n 199: \"BFS\", // Binary Tree Right Side View\n 200: \"BFS\", // Number of Islands\n 310: \"BFS\", // Minimum Height Trees\n 417: \"BFS\", // Pacific Atlantic Water Flow\n 542: \"BFS\", // 01 Matrix\n 662: \"BFS\", // Maximum Width of Binary Tree\n 733: \"BFS\", // Flood Fill\n 815: \"BFS\", // Bus Routes\n 863: \"BFS\", // All Nodes Distance K in Binary Tree\n 994: \"BFS\", // Rotting Oranges\n 1197: \"BFS\", // Minimum Knight Moves\n 1730: \"BFS\", // Shortest Path to Get Food\n 286: \"BFS\", // Walls and Gates\n 695: \"BFS\", // Max Area of Island\n 463: \"BFS\", // Island Perimeter\n 752: \"BFS\", // Open The Lock\n\n // DFS\n 329: \"DFS\", // Longest Increasing Path in a Matrix\n\n // Heap\n 23: \"Heap\", // Merge k Sorted Lists\n 215: \"Heap\", // Kth Largest Element in an Array\n 295: \"Heap\", // Find Median from Data Stream\n 362: \"Heap\", // Design Hit Counter\n 621: \"Heap\", // Task Scheduler\n 632: \"Heap\", // Smallest Range Covering Elements from K Lists\n 692: \"Heap\", // Top K Frequent Words\n 973: \"Heap\", // K Closest Points to Origin\n 355: \"Heap\", // Design Twitter\n 703: \"Heap\", // Kth Largest Element in a Stream\n 1046: \"Heap\", // Last Stone Weight\n 502: \"Heap\", // IPO\n 767: \"Heap\", // Reorganize String\n 1094: \"Heap\", // Car Pooling\n 1405: \"Heap\", // Longest Happy String\n 1834: \"Heap\", // Single Threaded CPU\n\n // Greedy\n 45: \"Greedy\", // Jump Game II\n 55: \"Greedy\", // Jump Game\n 121: \"Greedy\", // Best Time to Buy and Sell Stock\n 134: \"Greedy\", // Gas Station\n 763: \"Greedy\", // Partition Labels\n 678: \"Greedy\", // Valid Parenthesis String\n 846: \"Greedy\", // Hand of Straights\n 1899: \"Greedy\", // Merge Triplets to Form Target Triplet\n 135: \"Greedy\", // Candy\n 649: \"Greedy\", // Dota2 Senate\n 860: \"Greedy\", // Lemonade Change\n 918: \"Greedy\", // Maximum Sum Circular Subarray\n 978: \"Greedy\", // Longest Turbulent Subarray\n 1871: \"Greedy\", // Jump Game VII\n\n // Backtracking\n 17: \"Backtracking\", // Letter Combinations of a Phone Number\n 22: \"Backtracking\", // Generate Parentheses\n 37: \"Backtracking\", // Sudoku Solver\n 39: \"Backtracking\", // Combination Sum\n 46: \"Backtracking\", // Permutations\n 51: \"Backtracking\", // N-Queens\n 78: \"Backtracking\", // Subsets\n 79: \"Backtracking\", // Word Search\n 131: \"Backtracking\", // Palindrome Partitioning\n 40: \"Backtracking\", // Combination Sum II\n 90: \"Backtracking\", // Subsets II\n 47: \"Backtracking\", // Permutations II\n 52: \"Backtracking\", // N Queens II\n 77: \"Backtracking\", // Combinations\n 140: \"Backtracking\", // Word Break II\n 473: \"Backtracking\", // Matchsticks to Square\n 698: \"Backtracking\", // Partition to K Equal Sum Subsets\n 1863: \"Backtracking\", // Sum of All Subsets XOR Total\n\n // Graph\n 133: \"Graph\", // Clone Graph\n 207: \"Graph\", // Course Schedule\n 210: \"Graph\", // Course Schedule II\n 261: \"Graph\", // Graph Valid Tree\n 269: \"Graph\", // Alien Dictionary\n 323: \"Graph\", // Number of Connected Components\n 336: \"Graph\", // Palindrome Pairs\n 721: \"Graph\", // Accounts Merge\n 787: \"Graph\", // Cheapest Flights Within K Stops\n 130: \"Graph\", // Surrounded Regions\n 332: \"Graph\", // Reconstruct Itinerary\n 684: \"Graph\", // Redundant Connection\n 743: \"Graph\", // Network Delay Time\n 778: \"Graph\", // Swim in Rising Water\n 1584: \"Graph\", // Min Cost to Connect All Points\n 399: \"Graph\", // Evaluate Division\n 953: \"Graph\", // Verifying An Alien Dictionary\n 997: \"Graph\", // Find the Town Judge\n 1462: \"Graph\", // Course Schedule IV\n 1489: \"Graph\", // Find Critical and Pseudo Critical Edges in MST\n 1631: \"Graph\", // Path with Minimum Effort\n 2392: \"Graph\", // Build a Matrix With Conditions\n 2709: \"Graph\", // Greatest Common Divisor Traversal\n\n // Union Find\n // (none exclusively in these lists)\n\n // Trie\n 208: \"Trie\", // Implement Trie (Prefix Tree)\n 211: \"Trie\", // Design Add and Search Words\n 212: \"Trie\", // Word Search II\n 588: \"Trie\", // Design In-Memory File System\n 2707: \"Trie\", // Extra Characters in a String\n\n // DP\n 5: \"DP\", // Longest Palindromic Substring\n 32: \"DP\", // Longest Valid Parentheses\n 53: \"DP\", // Maximum Subarray\n 62: \"DP\", // Unique Paths\n 64: \"DP\", // Minimum Path Sum\n 70: \"DP\", // Climbing Stairs\n 72: \"DP\", // Edit Distance\n 91: \"DP\", // Decode Ways\n 118: \"DP\", // Pascal's Triangle\n 139: \"DP\", // Word Break\n 152: \"DP\", // Maximum Product Subarray\n 198: \"DP\", // House Robber\n 213: \"DP\", // House Robber II\n 221: \"DP\", // Maximal Square\n 279: \"DP\", // Perfect Squares\n 300: \"DP\", // Longest Increasing Subsequence\n 322: \"DP\", // Coin Change\n 377: \"DP\", // Combination Sum IV\n 416: \"DP\", // Partition Equal Subset Sum\n 1143: \"DP\", // Longest Common Subsequence\n 1235: \"DP\", // Maximum Profit in Job Scheduling\n 10: \"DP\", // Regular Expression Matching\n 97: \"DP\", // Interleaving String\n 115: \"DP\", // Distinct Subsequences\n 309: \"DP\", // Best Time to Buy and Sell Stock with Cooldown\n 312: \"DP\", // Burst Balloons\n 494: \"DP\", // Target Sum\n 518: \"DP\", // Coin Change II\n 647: \"DP\", // Palindromic Substrings\n 746: \"DP\", // Min Cost Climbing Stairs\n 63: \"DP\", // Unique Paths II\n 343: \"DP\", // Integer Break\n 877: \"DP\", // Stone Game\n 1049: \"DP\", // Last Stone Weight II\n 1137: \"DP\", // N-th Tribonacci Number\n 1140: \"DP\", // Stone Game II\n 1406: \"DP\", // Stone Game III\n};\n\n// ============================================================\n// LIST DEFINITIONS\n// ============================================================\n\nconst PROBLEM_LISTS: ProblemList[] = [\n {\n id: \"neetcode75\",\n name: \"NeetCode 75\",\n nameZh: \"NeetCode 75\",\n description: \"The essential 75 interview problems, curated by NeetCode. The foundation of NeetCode 150.\",\n source: \"https://neetcode.io/practice/neetcode75\",\n numbers: [\n 1, 3, 5, 11, 15, 19, 20, 21, 23, 33, 39, 48, 49, 53, 54, 55,\n 56, 57, 62, 70, 73, 76, 79, 91, 98, 100, 102, 104, 105, 121, 124,\n 125, 128, 133, 139, 141, 143, 152, 153, 190, 191, 198, 200, 206,\n 207, 208, 211, 212, 213, 217, 226, 230, 235, 238, 242, 252, 253,\n 261, 268, 269, 271, 295, 297, 300, 322, 323, 338, 347, 371, 417,\n 424, 435, 572, 647, 1143,\n ],\n },\n {\n id: \"neetcode150\",\n name: \"NeetCode 150\",\n nameZh: \"NeetCode 150\",\n description: \"NeetCode 75 + 75 more problems. Organized by pattern with NeetCode video explanations.\",\n source: \"https://neetcode.io/practice/neetcode150\",\n numbers: [\n 1, 2, 3, 4, 5, 7, 10, 11, 15, 17, 19, 20, 21, 22, 23, 25, 33,\n 36, 39, 40, 42, 43, 45, 46, 48, 49, 50, 51, 53, 54, 55, 56, 57,\n 62, 66, 70, 72, 73, 74, 76, 78, 79, 84, 90, 91, 97, 98, 100,\n 102, 104, 105, 110, 115, 121, 124, 125, 127, 128, 130, 131, 133,\n 134, 136, 138, 139, 141, 143, 146, 150, 152, 153, 155, 167, 190,\n 191, 198, 199, 200, 202, 206, 207, 208, 210, 211, 212, 213, 215,\n 217, 226, 230, 235, 238, 239, 242, 252, 253, 261, 268, 269, 271,\n 286, 287, 295, 297, 300, 309, 312, 322, 323, 329, 332, 338, 347,\n 355, 371, 416, 417, 424, 435, 494, 518, 543, 567, 572, 621, 647,\n 678, 684, 695, 703, 704, 739, 743, 746, 763, 778, 787, 846, 853,\n 875, 973, 981, 994, 1046, 1143, 1448, 1584, 1851, 1899, 2013,\n ],\n },\n {\n id: \"neetcode250\",\n name: \"NeetCode 250\",\n nameZh: \"NeetCode 250\",\n description: \"NeetCode 150 + 100 more problems. Comprehensive interview prep across 18 patterns.\",\n source: \"https://neetcode.io/practice/neetcode250\",\n numbers: [\n 1, 2, 3, 4, 5, 7, 10, 11, 13, 14, 15, 17, 18, 19, 20,\n 21, 22, 23, 25, 26, 27, 33, 35, 36, 39, 40, 41, 42, 43, 45,\n 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 62, 63, 64,\n 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 81, 84,\n 88, 90, 91, 92, 94, 97, 98, 100, 102, 104, 105, 110, 115, 121, 122,\n 124, 125, 127, 128, 130, 131, 133, 134, 135, 136, 138, 139, 140, 141, 143,\n 144, 145, 146, 150, 152, 153, 155, 167, 168, 169, 189, 190, 191, 198, 199,\n 200, 201, 202, 206, 207, 208, 209, 210, 211, 212, 213, 215, 217, 219, 225,\n 226, 229, 230, 232, 235, 238, 239, 242, 252, 253, 261, 268, 269, 271, 279,\n 286, 287, 295, 297, 300, 304, 309, 310, 312, 322, 323, 329, 332, 337, 338,\n 343, 344, 347, 355, 371, 374, 377, 394, 399, 410, 416, 417, 424, 427, 435,\n 450, 460, 463, 473, 494, 502, 518, 543, 560, 567, 572, 621, 622, 647, 649,\n 658, 678, 680, 682, 684, 695, 698, 701, 703, 704, 705, 706, 721, 735, 739,\n 743, 746, 752, 763, 767, 778, 787, 846, 853, 860, 867, 875, 877, 881, 895,\n 901, 912, 918, 953, 973, 978, 981, 994, 997, 1011, 1046, 1049, 1071, 1094, 1095,\n 1137, 1140, 1143, 1325, 1405, 1406, 1448, 1462, 1489, 1584, 1631, 1768, 1834, 1851, 1863,\n 1871, 1899, 1929, 2013, 2392, 2402, 2707, 2709, 2807, 3133,\n ],\n },\n {\n id: \"grind75\",\n name: \"Grind 75\",\n nameZh: \"Grind 75\",\n description: \"Modernized Blind 75 by the same author, with a structured weekly study plan.\",\n source: \"https://www.techinterviewhandbook.org/grind75/\",\n numbers: [\n 1, 3, 5, 8, 9, 13, 14, 15, 20, 21, 33, 39, 46, 53, 54, 56, 57,\n 62, 67, 70, 75, 78, 98, 100, 101, 102, 104, 105, 108, 110, 121,\n 125, 133, 136, 139, 141, 150, 155, 169, 190, 191, 199, 200, 206,\n 207, 208, 217, 226, 232, 234, 235, 236, 238, 242, 252, 268, 278,\n 283, 322, 338, 383, 409, 416, 542, 543, 572, 704, 721, 733, 844,\n 876, 973, 977, 981, 994,\n ],\n },\n {\n id: \"grind169\",\n name: \"Grind 169\",\n nameZh: \"Grind 169\",\n description: \"Extended Grind 75 with 94 additional problems for thorough interview coverage.\",\n source: \"https://www.techinterviewhandbook.org/grind75/\",\n numbers: [\n 1, 2, 3, 4, 5, 7, 8, 9, 11, 13, 14, 15, 16, 17, 19, 20, 21, 22,\n 23, 24, 25, 31, 32, 33, 36, 37, 39, 41, 42, 46, 48, 49, 50, 51,\n 53, 54, 55, 56, 57, 61, 62, 67, 70, 73, 74, 75, 76, 78, 79, 84,\n 91, 98, 100, 101, 102, 103, 104, 105, 108, 110, 113, 121, 124, 125,\n 127, 128, 133, 134, 136, 139, 141, 143, 146, 148, 150, 152, 153,\n 155, 169, 179, 189, 190, 191, 198, 199, 200, 206, 207, 208, 210,\n 211, 212, 215, 217, 221, 224, 226, 227, 230, 232, 234, 235, 236,\n 238, 239, 242, 252, 253, 261, 268, 269, 271, 278, 283, 285, 287,\n 295, 297, 300, 310, 322, 323, 328, 329, 336, 338, 362, 377, 380,\n 383, 394, 409, 416, 417, 424, 435, 437, 438, 525, 528, 542, 543,\n 560, 572, 588, 621, 632, 658, 662, 692, 704, 721, 733, 735, 739,\n 759, 787, 815, 844, 863, 876, 895, 973, 977, 981, 994, 1197, 1235,\n 1730,\n ],\n },\n {\n id: \"hot100\",\n name: \"LeetCode Hot 100\",\n nameZh: \"力扣热题 100\",\n description: \"The 100 most popular problems on LeetCode — a must-do list in the Chinese tech community.\",\n source: \"https://leetcode.cn/studyplan/top-100-liked/\",\n numbers: [\n 1, 2, 3, 4, 5, 11, 15, 17, 19, 20, 21, 22, 23, 24, 25, 31, 32,\n 33, 34, 35, 39, 41, 42, 45, 46, 48, 49, 51, 53, 54, 55, 56, 62,\n 64, 70, 72, 73, 74, 75, 76, 78, 79, 84, 94, 98, 101, 102, 104,\n 105, 108, 114, 118, 121, 124, 128, 131, 136, 138, 139, 141, 142,\n 146, 148, 152, 153, 155, 160, 169, 189, 198, 199, 200, 206, 207,\n 208, 215, 226, 230, 234, 236, 238, 239, 240, 279, 283, 287, 295,\n 300, 322, 347, 394, 416, 437, 438, 543, 560, 739, 763, 994, 1143,\n ],\n },\n];\n\n// ============================================================\n// PUBLIC API\n// ============================================================\n\n/**\n * Get all available lists with computed counts.\n */\nexport function getListSummaries(existingNumbers: Set<number>): ListSummary[] {\n return PROBLEM_LISTS.map((list) => {\n const validNumbers = list.numbers.filter((n) => getProblemByNumber(n));\n const existing = validNumbers.filter((n) => existingNumbers.has(n)).length;\n return {\n id: list.id,\n name: list.name,\n nameZh: list.nameZh,\n description: list.description,\n total: validNumbers.length,\n existing,\n newCount: validNumbers.length - existing,\n };\n });\n}\n\n/**\n * Get the problems to add for a specific list.\n * Returns only problems NOT already in the user's library.\n * Each problem gets its pattern from PATTERN_MAP.\n */\nexport function getListProblems(\n listId: string,\n existingNumbers: Set<number>\n): { lcProblems: LeetCodeProblem[]; patternMap: Map<number, string[]> } {\n const list = PROBLEM_LISTS.find((l) => l.id === listId);\n if (!list) return { lcProblems: [], patternMap: new Map() };\n\n const lcProblems: LeetCodeProblem[] = [];\n const patternMap = new Map<number, string[]>();\n\n for (const num of list.numbers) {\n // Skip if already in library\n if (existingNumbers.has(num)) continue;\n\n // Look up in our LC database\n const problem = getProblemByNumber(num);\n if (!problem) continue; // Safety: skip if not in DB\n\n lcProblems.push(problem);\n\n // Assign pattern if we have one\n const pattern = PATTERN_MAP[num];\n if (pattern) {\n patternMap.set(num, [pattern]);\n }\n }\n\n return { lcProblems, patternMap };\n}\n\nexport function getPatternsForProblemNumber(problemNumber: number | null | undefined): string[] {\n if (typeof problemNumber !== \"number\") return [];\n const pattern = PATTERN_MAP[problemNumber];\n return pattern ? [pattern] : [];\n}\n","import { addDays, generateId, todayStr, utcToLocalDateStr } from \"../dateHelpers\";\nimport { getIntervalDays } from \"../spacedRepetition\";\nimport { buildLeetCodeUrl } from \"./problems\";\nimport { getPatternsForProblemNumber } from \"./problemLists\";\nimport type {\n Confidence,\n LeetCodeIgnoredImport,\n LeetCodeSubmission,\n PendingLeetCodeImport,\n Problem,\n ReviewEvent,\n TodayLeetCodeItem,\n} from \"../types\";\n\ninterface BuildPendingLeetCodeImportsArgs {\n submissions: LeetCodeSubmission[];\n problems: Problem[];\n ignoredImports: LeetCodeIgnoredImport[];\n reviewEvents?: ReviewEvent[];\n today?: string;\n}\n\ninterface BuildProblemOptions {\n today?: string;\n now?: string;\n autoExpired?: boolean;\n}\n\nfunction minTimestamp(a?: string, b?: string): string | undefined {\n if (!a) return b;\n if (!b) return a;\n return a <= b ? a : b;\n}\n\nfunction isPendingSubmission(submission: LeetCodeSubmission): boolean {\n return submission.status === \"detected\" && !submission.problemId;\n}\n\nfunction findExistingProblem(submission: LeetCodeSubmission, problems: Problem[]): Problem | null {\n if (submission.problemId) {\n const byId = problems.find((problem) => problem.id === submission.problemId);\n if (byId) return byId;\n }\n if (submission.leetcodeNumber === null) return null;\n return problems.find((problem) => problem.leetcodeNumber === submission.leetcodeNumber) ?? null;\n}\n\nfunction getLinkedStatusLabel(kind: \"linked_existing\" | \"imported\" | \"rated\", problem: Problem | null, today: string) {\n if (kind === \"imported\") return \"Imported\";\n if (kind === \"rated\") return \"Rated\";\n if (\n problem\n && !problem.excludeFromReview\n && problem.lastReviewed !== today\n && problem.nextReviewDate <= today\n ) {\n return \"Review due\";\n }\n return \"In library\";\n}\n\nfunction isExpired(firstSeenAt: string | undefined, today: string): boolean {\n const firstSeenDate = utcToLocalDateStr(firstSeenAt);\n return !!firstSeenDate && firstSeenDate < today;\n}\n\nfunction toConfidence(value: number | null | undefined): Confidence | null {\n return value === 1 || value === 2 || value === 3 || value === 4 || value === 5 ? value : null;\n}\n\nfunction buildLatestReviewConfidenceByProblem(reviewEvents: ReviewEvent[] | undefined, today: string): Map<string, Confidence> {\n const latest = new Map<string, ReviewEvent>();\n for (const event of reviewEvents ?? []) {\n if (event.date !== today) continue;\n const current = latest.get(event.problemId);\n if (!current || event.timestamp > current.timestamp) {\n latest.set(event.problemId, event);\n }\n }\n\n const confidenceByProblem = new Map<string, Confidence>();\n for (const [problemId, event] of latest.entries()) {\n const confidence = toConfidence(event.confidence);\n if (confidence !== null) {\n confidenceByProblem.set(problemId, confidence);\n }\n }\n return confidenceByProblem;\n}\n\nfunction wasProblemReviewedToday(\n problem: Pick<Problem, \"id\" | \"lastReviewed\"> | null,\n reviewEvents: ReviewEvent[] | undefined,\n today: string,\n): boolean {\n if (!problem) return false;\n if (problem.lastReviewed === today) return true;\n return (reviewEvents ?? []).some((event) => event.problemId === problem.id && event.date === today);\n}\n\nexport function buildPendingLeetCodeImports({\n submissions,\n problems,\n ignoredImports,\n today = todayStr(),\n}: BuildPendingLeetCodeImportsArgs): PendingLeetCodeImport[] {\n const ignoredSlugs = new Set(ignoredImports.map((item) => item.titleSlug));\n const bySlug = new Map<string, PendingLeetCodeImport>();\n\n for (const submission of submissions) {\n if (!isPendingSubmission(submission)) continue;\n if (ignoredSlugs.has(submission.titleSlug)) continue;\n if (findExistingProblem(submission, problems)) continue;\n\n const existing = bySlug.get(submission.titleSlug);\n const firstSeenAt = minTimestamp(existing?.firstSeenAt, submission.createdAt);\n const candidate: PendingLeetCodeImport = {\n submissionDbId: submission.id,\n leetcodeSubmissionId: submission.leetcodeSubmissionId,\n titleSlug: submission.titleSlug,\n title: submission.title,\n leetcodeNumber: submission.leetcodeNumber,\n difficulty: submission.difficulty,\n submittedAt: submission.submittedAt,\n firstSeenAt,\n suggestedPatterns: getPatternsForProblemNumber(submission.leetcodeNumber),\n expired: isExpired(firstSeenAt, today),\n };\n\n if (!existing || submission.submittedAt > existing.submittedAt) {\n bySlug.set(submission.titleSlug, candidate);\n } else {\n bySlug.set(submission.titleSlug, {\n ...existing,\n firstSeenAt,\n expired: isExpired(firstSeenAt, today),\n });\n }\n }\n\n return Array.from(bySlug.values()).sort((a, b) => b.submittedAt.localeCompare(a.submittedAt));\n}\n\nexport function buildTodayLeetCodeItems({\n submissions,\n problems,\n ignoredImports,\n reviewEvents,\n today = todayStr(),\n}: BuildPendingLeetCodeImportsArgs): TodayLeetCodeItem[] {\n const ignoredSlugs = new Set(ignoredImports.map((item) => item.titleSlug));\n const bySlug = new Map<string, TodayLeetCodeItem>();\n const reviewedConfidenceByProblem = buildLatestReviewConfidenceByProblem(reviewEvents, today);\n\n for (const submission of submissions) {\n if (utcToLocalDateStr(submission.submittedAt) !== today) continue;\n if (submission.status === \"ignored\") continue;\n if (submission.status === \"imported\" || submission.status === \"rated\") continue;\n if (ignoredSlugs.has(submission.titleSlug)) continue;\n\n const existing = bySlug.get(submission.titleSlug);\n const matchedProblem = findExistingProblem(submission, problems);\n if (wasProblemReviewedToday(matchedProblem, reviewEvents, today)) continue;\n const suggestedPatterns = matchedProblem?.patterns.length\n ? matchedProblem.patterns\n : getPatternsForProblemNumber(submission.leetcodeNumber);\n const knownKind = submission.status === \"linked_existing\" && matchedProblem\n ? submission.status\n : submission.status === \"detected\" && matchedProblem\n ? \"linked_existing\"\n : null;\n\n let candidate: TodayLeetCodeItem | null = null;\n if (knownKind) {\n candidate = {\n kind: knownKind,\n submissionDbId: submission.id,\n leetcodeSubmissionId: submission.leetcodeSubmissionId,\n titleSlug: submission.titleSlug,\n title: submission.title,\n leetcodeNumber: submission.leetcodeNumber,\n difficulty: submission.difficulty,\n submittedAt: submission.submittedAt,\n suggestedPatterns,\n matchedProblemId: matchedProblem?.id ?? submission.problemId ?? null,\n status: knownKind,\n statusLabel: getLinkedStatusLabel(knownKind, matchedProblem, today),\n confidence: matchedProblem?.confidence ?? null,\n reviewedTodayConfidence: matchedProblem ? reviewedConfidenceByProblem.get(matchedProblem.id) ?? null : null,\n };\n } else if (isPendingSubmission(submission)) {\n const pendingExisting = existing?.kind === \"pending_import\" ? existing : undefined;\n const firstSeenAt = minTimestamp(pendingExisting?.firstSeenAt, submission.createdAt);\n candidate = {\n kind: \"pending_import\",\n status: \"detected\",\n matchedProblemId: null,\n statusLabel: \"Rate to add\",\n submissionDbId: submission.id,\n leetcodeSubmissionId: submission.leetcodeSubmissionId,\n titleSlug: submission.titleSlug,\n title: submission.title,\n leetcodeNumber: submission.leetcodeNumber,\n difficulty: submission.difficulty,\n submittedAt: submission.submittedAt,\n firstSeenAt,\n suggestedPatterns,\n expired: isExpired(firstSeenAt, today),\n };\n }\n\n if (!candidate) continue;\n\n if (!existing || submission.submittedAt > existing.submittedAt) {\n bySlug.set(submission.titleSlug, candidate);\n } else if (existing.kind === \"pending_import\" && candidate.kind === \"pending_import\") {\n const firstSeenAt = minTimestamp(existing.firstSeenAt, candidate.firstSeenAt);\n bySlug.set(submission.titleSlug, {\n ...existing,\n firstSeenAt,\n expired: isExpired(firstSeenAt, today),\n });\n }\n }\n\n return Array.from(bySlug.values()).sort((a, b) => b.submittedAt.localeCompare(a.submittedAt));\n}\n\nexport function buildProblemFromLeetCodeImport(\n item: PendingLeetCodeImport,\n confidence: Confidence,\n options: BuildProblemOptions = {},\n): Problem {\n const today = options.today ?? todayStr();\n const now = options.now ?? new Date().toISOString();\n const autoExpired = options.autoExpired ?? false;\n\n return {\n id: generateId(),\n title: item.title,\n leetcodeNumber: item.leetcodeNumber,\n url: buildLeetCodeUrl(item.titleSlug),\n difficulty: item.difficulty ?? \"Medium\",\n patterns: item.suggestedPatterns,\n confidence,\n notes: \"\",\n excludeFromReview: false,\n dateAdded: today,\n lastReviewed: null,\n nextReviewDate: autoExpired ? today : addDays(today, getIntervalDays(confidence)),\n fiveStarStreak: 0,\n updatedAt: now,\n };\n}\n","import type { Confidence } from \"../types\";\nimport type { LeetCodeActivityResult } from \"./activityData\";\nimport type { LeetCodeCompletionIdentity } from \"./todayCompletions\";\n\nexport interface RateLeetCodeReviewLocallyFirstParams {\n submissionDbId: string;\n problemId: string;\n confidence: Confidence;\n completionSource?: LeetCodeCompletionIdentity;\n onReview: (problemId: string, confidence: Confidence, options?: { replaceSameDayReviewEvent?: boolean }) => void;\n markRated: (submissionDbId: string, problemId: string) => Promise<LeetCodeActivityResult>;\n onLocalReviewRecorded?: (source: LeetCodeCompletionIdentity & { submissionDbId: string }, problemId: string) => void;\n onError?: (error: string) => void;\n}\n\nexport async function rateLeetCodeReviewLocallyFirst({\n submissionDbId,\n problemId,\n confidence,\n completionSource,\n onReview,\n markRated,\n onLocalReviewRecorded,\n onError,\n}: RateLeetCodeReviewLocallyFirstParams): Promise<LeetCodeActivityResult> {\n onReview(problemId, confidence, { replaceSameDayReviewEvent: true });\n onLocalReviewRecorded?.({ ...completionSource, submissionDbId }, problemId);\n const result = await markRated(submissionDbId, problemId);\n if (result.error) onError?.(result.error);\n return result;\n}\n","import { buildTodayLeetCodeItems } from \"./importTransforms\";\nimport {\n buildLeetCodeSubmissionsWithCompletions,\n isLeetCodeSubmissionCompletedToday,\n mergeTodayLeetCodeCompletion,\n type LeetCodeCompletionIdentity,\n type TodayLeetCodeCompletion,\n} from \"./todayCompletions\";\nimport type {\n LeetCodeIgnoredImport,\n LeetCodeSubmission,\n Problem,\n ReviewEvent,\n TodayLeetCodeItem,\n} from \"../types\";\n\ninterface ResolveTodayLeetCodeStateArgs {\n problems: Problem[];\n reviewEvents: ReviewEvent[];\n leetcodeSubmissions: LeetCodeSubmission[];\n ignoredImports: LeetCodeIgnoredImport[];\n todayCompletions: TodayLeetCodeCompletion[];\n today: string;\n}\n\nexport interface TodayLeetCodeResolvedState {\n fromLeetCodeItems: TodayLeetCodeItem[];\n doneTodayLeetCodeSubmissions: LeetCodeSubmission[];\n effectiveCompletions: TodayLeetCodeCompletion[];\n}\n\ntype CompletionInput = LeetCodeCompletionIdentity & {\n submissionDbId: string;\n problemId: string;\n action: TodayLeetCodeCompletion[\"action\"];\n completedAt?: string;\n};\n\nfunction getReviewedTodayTimestamp(\n problem: Pick<Problem, \"id\" | \"lastReviewed\">,\n reviewEvents: ReviewEvent[],\n today: string,\n): string | null {\n const latestEvent = reviewEvents\n .filter((event) => event.problemId === problem.id && event.date === today)\n .sort((a, b) => b.timestamp.localeCompare(a.timestamp))[0];\n if (latestEvent) return latestEvent.timestamp;\n return problem.lastReviewed === today ? `${today}T00:00:00.000Z` : null;\n}\n\nexport function buildReviewedTodayLeetCodeCompletions({\n submissions,\n problems,\n reviewEvents,\n today,\n}: {\n submissions: LeetCodeSubmission[];\n problems: Problem[];\n reviewEvents: ReviewEvent[];\n today: string;\n}): CompletionInput[] {\n const problemById = new Map(problems.map((problem) => [problem.id, problem]));\n const problemByNumber = new Map(\n problems\n .filter((problem): problem is Problem & { leetcodeNumber: number } => typeof problem.leetcodeNumber === \"number\")\n .map((problem) => [problem.leetcodeNumber, problem]),\n );\n const completions: CompletionInput[] = [];\n\n for (const submission of submissions) {\n if (submission.status === \"ignored\") continue;\n const problem = (submission.problemId ? problemById.get(submission.problemId) : undefined)\n ?? (typeof submission.leetcodeNumber === \"number\" ? problemByNumber.get(submission.leetcodeNumber) : undefined);\n if (!problem) continue;\n const completedAt = getReviewedTodayTimestamp(problem, reviewEvents, today);\n if (!completedAt) continue;\n\n completions.push({\n submissionDbId: submission.id,\n leetcodeSubmissionId: submission.leetcodeSubmissionId,\n titleSlug: submission.titleSlug,\n leetcodeNumber: submission.leetcodeNumber,\n problemId: problem.id,\n action: \"rated\",\n completedAt,\n });\n }\n\n return completions;\n}\n\nexport function mergeTodayLeetCodeCompletions(\n completions: TodayLeetCodeCompletion[],\n completionInputs: CompletionInput[],\n today: string,\n): TodayLeetCodeCompletion[] {\n let next = completions;\n for (const completion of completionInputs) {\n next = mergeTodayLeetCodeCompletion(next, completion, today);\n }\n return next;\n}\n\nexport function resolveTodayLeetCodeState({\n problems,\n reviewEvents,\n leetcodeSubmissions,\n ignoredImports,\n todayCompletions,\n today,\n}: ResolveTodayLeetCodeStateArgs): TodayLeetCodeResolvedState {\n const reviewedTodayCompletions = buildReviewedTodayLeetCodeCompletions({\n submissions: leetcodeSubmissions,\n problems,\n reviewEvents,\n today,\n });\n const effectiveCompletions = mergeTodayLeetCodeCompletions(\n todayCompletions,\n reviewedTodayCompletions,\n today,\n );\n const doneTodayLeetCodeSubmissions = buildLeetCodeSubmissionsWithCompletions(\n leetcodeSubmissions,\n effectiveCompletions,\n );\n const rawFromLeetCodeItems = buildTodayLeetCodeItems({\n submissions: leetcodeSubmissions,\n problems,\n ignoredImports,\n reviewEvents,\n today,\n });\n const fromLeetCodeItems = rawFromLeetCodeItems.filter((item) => !isLeetCodeSubmissionCompletedToday({\n submissionDbId: item.submissionDbId,\n leetcodeSubmissionId: item.leetcodeSubmissionId,\n titleSlug: item.titleSlug,\n leetcodeNumber: item.leetcodeNumber,\n problemId: item.matchedProblemId,\n }, effectiveCompletions));\n\n return {\n fromLeetCodeItems,\n doneTodayLeetCodeSubmissions,\n effectiveCompletions,\n };\n}\n","/**\n * @patternbank/core — shared domain logic for PatternBank web and mobile.\n *\n * Pure logic only: no UI, no Tailwind classes, no import-time side effects.\n * Platform concerns (storage, Supabase client, analytics) are injected via\n * adapters — see storage/adapter.ts and supabase/data.ts as they land.\n */\n\nexport * from \"./types\";\nexport * from \"./constants\";\nexport * from \"./dateHelpers\";\nexport * from \"./hooks\";\nexport * from \"./spacedRepetition\";\nexport * from \"./progressVisuals\";\nexport * from \"./progressUtils\";\nexport * from \"./preferences\";\nexport * from \"./problemTransforms\";\nexport * from \"./projectionEngine\";\nexport * from \"./sync/fullSync\";\nexport * from \"./sync/merge\";\nexport * from \"./sync/reviewEvents\";\nexport * from \"./syncTimeout\";\nexport * from \"./todayView\";\nexport * from \"./storage/adapter\";\nexport * from \"./storage/logic\";\nexport * from \"./supabase/mapping\";\nexport * from \"./supabase/data\";\nexport * from \"./leetcode/activityData\";\nexport * from \"./leetcode/importTransforms\";\nexport * from \"./leetcode/problemLists\";\nexport * from \"./leetcode/reviewActions\";\nexport * from \"./leetcode/todayCompletions\";\nexport * from \"./leetcode/todayResolver\";\nexport {\n default as LEETCODE_PROBLEMS,\n searchProblems,\n getProblemByNumber,\n buildLeetCodeUrl,\n} from \"./leetcode/problems\";\n\n/** Placeholder export proving the workspace wiring; replaced as modules extract. */\nexport const CORE_PACKAGE_NAME = \"@patternbank/core\";\n"],"mappings":"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,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,IAAI;AAAA;AAAA,EACJ,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA;AAAA,EAGL,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,MAAM;AAAA;AAAA,EACN,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,MAAM;AAAA;AAAA;AAAA,EAGN,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,MAAM;AAAA;AAAA,EACN,MAAM;AAAA;AAAA,EACN,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA;AAAA,EAGL,KAAK;AAAA;AAAA;AAAA,EAGL,IAAI;AAAA;AAAA,EACJ,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,MAAM;AAAA;AAAA,EACN,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,MAAM;AAAA;AAAA,EACN,MAAM;AAAA;AAAA,EACN,MAAM;AAAA;AAAA;AAAA,EAGN,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,MAAM;AAAA;AAAA,EACN,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,MAAM;AAAA;AAAA;AAAA,EAGN,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,KAAK;AAAA;AAAA,EACL,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,MAAM;AAAA;AAAA;AAAA,EAGN,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL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AA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MACtE;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MACtE;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MACtE;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MACtE;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MACtE;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MACtE;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MACtE;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAC3E;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MACpF;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,IACxD;AAAA,EACF;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,SAAS;AAAA,MACP;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAC3D;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAC3D;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAC5D;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAC5D;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAC5D;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,IACtB;AAAA,EACF;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,SAAS;AAAA,MACP;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAC5D;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAC5D;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAC5D;AAAA,MAAI;AAAA,MAAI;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAC/D;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAC5D;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAC5D;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAC5D;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAC5D;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAA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","names":["ws","timestampMs"]}
1
+ {"version":3,"sources":["../src/constants.ts","../src/dateHelpers.ts","../src/spacedRepetition.ts","../src/progressVisuals.ts","../src/progressUtils.ts","../src/preferences.ts","../src/storage/logic.ts","../src/leetcode/problems.js","../src/problemTransforms.ts","../src/projectionEngine.ts","../src/sync/merge.ts","../src/sync/reviewEvents.ts","../src/sync/fullSync.ts","../src/syncTimeout.ts","../src/leetcode/todayCompletions.ts","../src/todayView.ts","../src/supabase/mapping.ts","../src/supabase/data.ts","../src/leetcode/activityData.ts","../src/leetcode/problemLists.ts","../src/leetcode/importTransforms.ts","../src/leetcode/reviewActions.ts","../src/leetcode/todayResolver.ts","../src/index.ts"],"sourcesContent":["import type { CorePreferences, Difficulty } from \"./types\";\n\nexport const CORE_PATTERNS = [\n \"Two Pointers\", \"Hash Table\", \"Sliding Window\",\n \"Binary Search\", \"Sorting\", \"Linked List\",\n \"Stack\", \"Queue\", \"Tree\",\n \"BFS\", \"DFS\", \"Heap\",\n \"Greedy\", \"Backtracking\", \"Graph\",\n \"Union Find\", \"Trie\", \"DP\",\n] as const;\n\nexport const EXTRA_PATTERNS = [\n \"Intervals\", \"Mono Stack\", \"Prefix Sum\",\n \"Bit\", \"System Design\", \"OOD\",\n] as const;\n\nexport function getVisiblePatterns(enabledExtras: string[]): string[] {\n return [\n ...CORE_PATTERNS,\n ...EXTRA_PATTERNS.filter((p) => enabledExtras.includes(p)),\n ];\n}\n\nexport const DIFFICULTIES: readonly Difficulty[] = [\"Easy\", \"Medium\", \"Hard\"];\n\nexport const STORAGE_KEY = \"patternbank-problems\";\nexport const REVIEW_LOG_KEY = \"patternbank-review-log\";\nexport const REVIEW_EVENTS_KEY = \"patternbank-review-events\";\nexport const PREFERENCES_KEY = \"patternbank-preferences\";\nexport const PROBLEM_TOMBSTONES_KEY = \"patternbank-problem-tombstones\";\nexport const DATA_RESET_KEY = \"patternbank-data-reset\";\n/**\n * ISO cutoff below which review events were locally pruned (F-3). Merge drops\n * cloud events older than this watermark so pruned history is not resurrected.\n */\nexport const REVIEW_EVENTS_PRUNED_BEFORE_KEY =\n \"patternbank-review-events-pruned-before\";\n\nexport const DEFAULT_PREFERENCES: CorePreferences = {\n dailyReviewGoal: 5,\n hidePatternsDuringReview: false,\n enabledExtraPatterns: [],\n};\n","const MS_PER_DAY = 24 * 60 * 60 * 1000;\n\nfunction pad2(value: number): string {\n return String(value).padStart(2, \"0\");\n}\n\nfunction formatUtcDate(date: Date): string {\n return `${date.getUTCFullYear()}-${pad2(date.getUTCMonth() + 1)}-${pad2(date.getUTCDate())}`;\n}\n\nexport function formatLocalDate(date: Date): string {\n return `${date.getFullYear()}-${pad2(date.getMonth() + 1)}-${pad2(date.getDate())}`;\n}\n\nexport function parseDateOnly(dateStr: string): { year: number; month: number; day: number } {\n const [year, month, day] = dateStr.split(\"-\").map(Number);\n return { year, month, day };\n}\n\nexport function dateOnlyToUtcMs(dateStr: string): number {\n const { year, month, day } = parseDateOnly(dateStr);\n return Date.UTC(year, month - 1, day);\n}\n\nexport function todayStr(): string {\n return formatLocalDate(new Date());\n}\n\nexport function formatDisplayDate(dateStr: string): string {\n const { year, month, day } = parseDateOnly(dateStr);\n const localDate = new Date(year, month - 1, day);\n return localDate.toLocaleDateString(\"en-US\", {\n weekday: \"long\",\n month: \"long\",\n day: \"numeric\",\n });\n}\n\nexport function utcToLocalDateStr(isoTimestamp: string | null | undefined): string | null {\n if (!isoTimestamp) return null;\n const d = new Date(isoTimestamp);\n if (isNaN(d.getTime())) return null;\n return formatLocalDate(d);\n}\n\nexport function addDays(dateStr: string, days: number): string {\n const d = new Date(dateOnlyToUtcMs(dateStr) + days * MS_PER_DAY);\n return formatUtcDate(d);\n}\n\nexport function formatRelativeDate(dateStr: string): string {\n const diffDays = Math.round((dateOnlyToUtcMs(dateStr) - dateOnlyToUtcMs(todayStr())) / MS_PER_DAY);\n if (diffDays === 0) return \"Today\";\n if (diffDays === 1) return \"Tomorrow\";\n if (diffDays < 0) return `${Math.abs(diffDays)}d ago`;\n return `${diffDays}d`;\n}\n\nexport function generateId(): string {\n return Date.now().toString(36) + Math.random().toString(36).slice(2, 8);\n}\n\n/**\n * Parse an ISO timestamp to epoch ms; missing or unparseable values collapse\n * to 0 (the epoch). Sync merges rely on this guard (F-17) so a malformed\n * timestamp deterministically loses to any valid one instead of winning a\n * `NaN` comparison.\n */\nexport function timestampMs(value: string | null | undefined): number {\n if (!value) return 0;\n const ms = new Date(value).getTime();\n return Number.isFinite(ms) ? ms : 0;\n}\n","import { todayStr } from \"./dateHelpers\";\nimport type { Confidence, Problem } from \"./types\";\n\n// V2 base intervals based on confidence rating.\n// Explicit 5-star reviews can graduate beyond this base interval.\nexport const INTERVALS: Record<Confidence, number> = { 1: 1, 2: 2, 3: 5, 4: 10, 5: 30 };\nexport const FIVE_STAR_GRADUATION_INTERVALS = [30, 60, 120, 240, 365] as const;\n\nexport function getIntervalDays(confidence: Confidence): number {\n return INTERVALS[confidence] || 1;\n}\n\nexport function getDefaultFiveStarStreak(confidence: number): number {\n return confidence === 5 ? 1 : 0;\n}\n\nexport function getFiveStarGraduationIntervalDays(streak: number): number {\n if (streak <= 1) return FIVE_STAR_GRADUATION_INTERVALS[0];\n if (streak === 2) return FIVE_STAR_GRADUATION_INTERVALS[1];\n if (streak === 3) return FIVE_STAR_GRADUATION_INTERVALS[2];\n if (streak === 4) return FIVE_STAR_GRADUATION_INTERVALS[3];\n return FIVE_STAR_GRADUATION_INTERVALS[4];\n}\n\nexport function getPreviousFiveStarStreak(problem: Problem): number {\n if (problem.confidence !== 5) return 0;\n return problem.fiveStarStreak ?? getDefaultFiveStarStreak(problem.confidence);\n}\n\nexport function getNextFiveStarStreak(problem: Problem, newConfidence: Confidence): number {\n if (newConfidence !== 5) return 0;\n return getPreviousFiveStarStreak(problem) + 1;\n}\n\nexport function getReviewIntervalDays(problem: Problem, newConfidence: Confidence): number {\n if (newConfidence !== 5) return getIntervalDays(newConfidence);\n return getFiveStarGraduationIntervalDays(getNextFiveStarStreak(problem, newConfidence));\n}\n\n// ============================================================\n// Priority algorithm for daily review cap\n// ============================================================\n\n// Deterministic hash for stable per-day randomization.\n// Same (id, date) pair always produces the same value.\n// Different date = different order for tied problems.\nfunction dailyHash(problemId: string, dateStr: string): number {\n const str = problemId + dateStr;\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n hash = ((hash << 5) - hash + str.charCodeAt(i)) | 0;\n }\n return hash;\n}\n\nfunction calcDaysOverdue(nextReviewDate: string, today: string): number {\n const diff = new Date(today).getTime() - new Date(nextReviewDate).getTime();\n return Math.max(0, Math.round(diff / (1000 * 60 * 60 * 24)));\n}\n\n// Takes already-filtered due problems and returns the top `limit` by priority.\n// Sort order:\n// 1. Lowest confidence first (weakest problems surface first)\n// 2. Most days overdue first (longest-waiting problems surface first)\n// 3. Stable random tiebreaker (reshuffles daily, stable within a session)\nexport function prioritizeProblems(dueProblems: Problem[], limit: number, today = todayStr()): Problem[] {\n if (!dueProblems.length || limit <= 0) return [];\n\n const sorted = [...dueProblems].sort((a, b) => {\n // 1. Lowest confidence first\n const confDiff = (a.confidence || 3) - (b.confidence || 3);\n if (confDiff !== 0) return confDiff;\n\n // 2. Most overdue first\n const overdueDiff =\n calcDaysOverdue(b.nextReviewDate, today) -\n calcDaysOverdue(a.nextReviewDate, today);\n if (overdueDiff !== 0) return overdueDiff;\n\n // 3. Random tiebreaker, stable per-day\n return dailyHash(a.id, today) - dailyHash(b.id, today);\n });\n\n return sorted.slice(0, limit);\n}\n","export interface ProgressConfidenceTint {\n background: string;\n border: string;\n text: string;\n}\n\nexport const PROGRESS_EMPTY_CONFIDENCE_TINT: ProgressConfidenceTint = {\n background: \"#12121a\",\n border: \"#23232f\",\n text: \"#5e5e6e\",\n};\n\nexport const PROGRESS_HEATMAP_CONFIDENCE_TINTS: readonly ProgressConfidenceTint[] = [\n {\n background: \"rgba(247,96,96,0.20)\",\n border: \"rgba(247,96,96,0.55)\",\n text: \"#ff7a7a\",\n },\n {\n background: \"rgba(251,146,60,0.22)\",\n border: \"rgba(251,146,60,0.58)\",\n text: \"#ffad5c\",\n },\n {\n background: \"rgba(245,185,66,0.22)\",\n border: \"rgba(245,185,66,0.58)\",\n text: \"#ffd35f\",\n },\n {\n background: \"rgba(96,165,250,0.22)\",\n border: \"rgba(96,165,250,0.62)\",\n text: \"#7cbbff\",\n },\n {\n background: \"rgba(74,222,128,0.22)\",\n border: \"rgba(74,222,128,0.62)\",\n text: \"#67ee98\",\n },\n];\n\nexport const PROGRESS_CONFIDENCE_TINTS: readonly ProgressConfidenceTint[] = [\n {\n background: \"rgba(247,96,96,0.56)\",\n border: \"rgba(247,96,96,0.92)\",\n text: \"#ff8b8b\",\n },\n {\n background: \"rgba(251,146,60,0.56)\",\n border: \"rgba(251,146,60,0.92)\",\n text: \"#ffb871\",\n },\n {\n background: \"rgba(245,185,66,0.58)\",\n border: \"rgba(245,185,66,0.94)\",\n text: \"#ffdc78\",\n },\n {\n background: \"rgba(96,165,250,0.60)\",\n border: \"rgba(96,165,250,0.96)\",\n text: \"#91c8ff\",\n },\n {\n background: \"rgba(74,222,128,0.60)\",\n border: \"rgba(74,222,128,0.96)\",\n text: \"#79f3a4\",\n },\n];\n\nexport function getProgressConfidenceTint(\n avgConfidence: number,\n count: number,\n): ProgressConfidenceTint {\n if (count === 0) return PROGRESS_EMPTY_CONFIDENCE_TINT;\n if (avgConfidence < 1.5) return PROGRESS_CONFIDENCE_TINTS[0];\n if (avgConfidence < 2.5) return PROGRESS_CONFIDENCE_TINTS[1];\n if (avgConfidence < 3.5) return PROGRESS_CONFIDENCE_TINTS[2];\n if (avgConfidence < 4.5) return PROGRESS_CONFIDENCE_TINTS[3];\n return PROGRESS_CONFIDENCE_TINTS[4];\n}\n\nexport function getProgressHeatmapTint(\n avgConfidence: number,\n count: number,\n): ProgressConfidenceTint {\n if (count === 0) return PROGRESS_EMPTY_CONFIDENCE_TINT;\n if (avgConfidence < 1.5) return PROGRESS_HEATMAP_CONFIDENCE_TINTS[0];\n if (avgConfidence < 2.5) return PROGRESS_HEATMAP_CONFIDENCE_TINTS[1];\n if (avgConfidence < 3.5) return PROGRESS_HEATMAP_CONFIDENCE_TINTS[2];\n if (avgConfidence < 4.5) return PROGRESS_HEATMAP_CONFIDENCE_TINTS[3];\n return PROGRESS_HEATMAP_CONFIDENCE_TINTS[4];\n}\n","import { addDays, dateOnlyToUtcMs } from \"./dateHelpers\";\nimport type { ReviewLogEntry, ReviewEvent } from \"./types\";\n\nexport function calculateLongestStreak(log: ReviewLogEntry[]): number {\n if (log.length === 0) return 0;\n const dates = [...new Set(log.map((e) => e.date))].sort();\n let longest = 1;\n let current = 1;\n for (let i = 1; i < dates.length; i++) {\n if (addDays(dates[i - 1], 1) === dates[i]) {\n current++;\n longest = Math.max(longest, current);\n } else {\n current = 1;\n }\n }\n return longest;\n}\n\nexport function buildReviewCountMap(\n reviewEvents: ReviewEvent[],\n reviewLog: ReviewLogEntry[],\n): Map<string, number> {\n const countMap = new Map<string, number>();\n // Primary: actual event counts\n reviewEvents.forEach((e) =>\n countMap.set(e.date, (countMap.get(e.date) ?? 0) + 1),\n );\n // Fallback: legacy dates get count=1 if not already covered\n reviewLog.forEach((e) => {\n if (!countMap.has(e.date)) countMap.set(e.date, 1);\n });\n return countMap;\n}\n\nexport function getWeekStart(dateStr: string): string {\n const day = new Date(dateOnlyToUtcMs(dateStr)).getUTCDay(); // 0=Sun\n return addDays(dateStr, -day);\n}\n\nexport function groupEventsByWeek(\n events: ReviewEvent[],\n numWeeks: number,\n startDate: string,\n): { weekStart: string; avg: number | null }[] {\n const byWeek = new Map<string, number[]>();\n events.forEach((e) => {\n if (e.date >= startDate) {\n const ws = getWeekStart(e.date);\n const arr = byWeek.get(ws) ?? [];\n arr.push(e.confidence);\n byWeek.set(ws, arr);\n }\n });\n\n const weeks: { weekStart: string; avg: number | null }[] = [];\n let ws = getWeekStart(startDate);\n for (let i = 0; i < numWeeks; i++) {\n const vals = byWeek.get(ws);\n weeks.push({\n weekStart: ws,\n avg: vals ? vals.reduce((a, b) => a + b, 0) / vals.length : null,\n });\n ws = addDays(ws, 7);\n }\n return weeks;\n}\n\nexport function getConfidenceDistribution(\n confidences: number[],\n): [number, number, number, number, number] {\n const counts: [number, number, number, number, number] = [0, 0, 0, 0, 0];\n confidences.forEach((c) => {\n if (c >= 1 && c <= 5) counts[c - 1]++;\n });\n return counts;\n}\n\nexport function getTopPatterns(\n patterns: string[][],\n limit: number,\n): [string, number][] {\n const map = new Map<string, number>();\n patterns.forEach((pats) =>\n pats.forEach((p) => map.set(p, (map.get(p) ?? 0) + 1)),\n );\n return [...map.entries()]\n .sort((a, b) => b[1] - a[1])\n .slice(0, limit);\n}\n","import { timestampMs } from \"./dateHelpers\";\nimport type { CloudPreferences } from \"./supabase/mapping\";\nimport type { CorePreferences } from \"./types\";\n\nfunction stringArraysEqual(a: string[], b: string[]): boolean {\n if (a.length !== b.length) return false;\n return a.every((value, index) => value === b[index]);\n}\n\n/** Compares only the cloud-synced content fields — platform extras (and `updatedAt`) are ignored. */\nexport function preferencesEqual(\n a: Pick<CorePreferences, \"dailyReviewGoal\" | \"hidePatternsDuringReview\" | \"enabledExtraPatterns\">,\n b: Pick<CorePreferences, \"dailyReviewGoal\" | \"hidePatternsDuringReview\" | \"enabledExtraPatterns\">,\n): boolean {\n return (\n a.dailyReviewGoal === b.dailyReviewGoal &&\n a.hidePatternsDuringReview === b.hidePatternsDuringReview &&\n stringArraysEqual(a.enabledExtraPatterns, b.enabledExtraPatterns)\n );\n}\n\nexport interface MergePreferencesResult<P extends CorePreferences> {\n preferences: P;\n winner: \"local\" | \"cloud\";\n}\n\n/**\n * Newest-wins preference merge (F-6). Blobs persisted before `updatedAt`\n * existed get the epoch shim — anything stamped beats them, and two unstamped\n * blobs preserve the legacy cloud-wins behavior (ties go to cloud). Platform\n * extras on the local blob (e.g. mobile notification fields) always survive;\n * only the cloud-synced subset is overwritten when cloud wins.\n */\nexport function mergePreferences<P extends CorePreferences>(\n local: P,\n cloud: CloudPreferences | null,\n): MergePreferencesResult<P> {\n if (!cloud) return { preferences: local, winner: \"local\" };\n if (timestampMs(local.updatedAt) > timestampMs(cloud.updatedAt)) {\n return { preferences: local, winner: \"local\" };\n }\n const preferences: P = {\n ...local,\n dailyReviewGoal: cloud.dailyReviewGoal,\n hidePatternsDuringReview: cloud.hidePatternsDuringReview,\n enabledExtraPatterns: cloud.enabledExtraPatterns,\n };\n if (cloud.updatedAt !== undefined) {\n preferences.updatedAt = cloud.updatedAt;\n }\n return { preferences, winner: \"cloud\" };\n}\n","import { todayStr, addDays } from \"../dateHelpers\";\nimport type { Problem, ReviewEvent, ReviewLogEntry } from \"../types\";\n\nexport function calculateStreak(log: ReviewLogEntry[]): number {\n if (log.length === 0) return 0;\n const dates = new Set(log.map((e) => e.date));\n let streak = 0;\n let checkDate = todayStr();\n if (!dates.has(checkDate)) {\n checkDate = addDays(checkDate, -1);\n if (!dates.has(checkDate)) return 0;\n }\n while (dates.has(checkDate)) {\n streak++;\n checkDate = addDays(checkDate, -1);\n }\n return streak;\n}\n\nexport function countReviewedToday(problems: Problem[]): number {\n const today = todayStr();\n return problems.filter((p) => p.lastReviewed === today).length;\n}\n\nexport interface PruneOldEventsOptions {\n /** Days of history to keep; null/undefined disables pruning entirely (web). */\n retentionDays?: number | null;\n today?: string;\n}\n\nexport interface PruneOldEventsResult {\n kept: ReviewEvent[];\n /**\n * F-3 watermark: the YYYY-MM-DD cutoff (events with date >= cutoff are kept),\n * or null when pruning is disabled. Platforms persist this under\n * REVIEW_EVENTS_PRUNED_BEFORE_KEY so merges can drop pre-cutoff cloud events.\n */\n cutoffIso: string | null;\n}\n\n/**\n * Pure prune (F-3): no persistence side effects; callers save `kept` and the\n * watermark explicitly as a post-sync maintenance step, never on load.\n */\nexport function pruneOldEvents(\n events: ReviewEvent[],\n { retentionDays, today = todayStr() }: PruneOldEventsOptions,\n): PruneOldEventsResult {\n if (retentionDays == null) {\n return { kept: events, cutoffIso: null };\n }\n const cutoff = addDays(today, -retentionDays);\n return { kept: events.filter((e) => e.date >= cutoff), cutoffIso: cutoff };\n}\n","// Static LeetCode problem database — ALL 3,846 problems\n// Fields: n=number, t=title, d=difficulty, s=slug\n// URL constructed at runtime: https://leetcode.com/problems/${slug}/description/\n// Generated from LeetCode index scrape, February 19, 2026\n\nconst LEETCODE_PROBLEMS = [\n { n: 1, t: \"Two Sum\", d: \"Easy\", s: \"two-sum\" },\n { n: 2, t: \"Add Two Numbers\", d: \"Medium\", s: \"add-two-numbers\" },\n { n: 3, t: \"Longest Substring Without Repeating Characters\", d: \"Medium\", s: \"longest-substring-without-repeating-characters\" },\n { n: 4, t: \"Median of Two Sorted Arrays\", d: \"Hard\", s: \"median-of-two-sorted-arrays\" },\n { n: 5, t: \"Longest Palindromic Substring\", d: \"Medium\", s: \"longest-palindromic-substring\" },\n { n: 6, t: \"Zigzag Conversion\", d: \"Medium\", s: \"zigzag-conversion\" },\n { n: 7, t: \"Reverse Integer\", d: \"Medium\", s: \"reverse-integer\" },\n { n: 8, t: \"String to Integer (atoi)\", d: \"Medium\", s: \"string-to-integer-atoi\" },\n { n: 9, t: \"Palindrome Number\", d: \"Easy\", s: \"palindrome-number\" },\n { n: 10, t: \"Regular Expression Matching\", d: \"Hard\", s: \"regular-expression-matching\" },\n { n: 11, t: \"Container With Most Water\", d: \"Medium\", s: \"container-with-most-water\" },\n { n: 12, t: \"Integer to Roman\", d: \"Medium\", s: \"integer-to-roman\" },\n { n: 13, t: \"Roman to Integer\", d: \"Easy\", s: \"roman-to-integer\" },\n { n: 14, t: \"Longest Common Prefix\", d: \"Easy\", s: \"longest-common-prefix\" },\n { n: 15, t: \"3Sum\", d: \"Medium\", s: \"3sum\" },\n { n: 16, t: \"3Sum Closest\", d: \"Medium\", s: \"3sum-closest\" },\n { n: 17, t: \"Letter Combinations of a Phone Number\", d: \"Medium\", s: \"letter-combinations-of-a-phone-number\" },\n { n: 18, t: \"4Sum\", d: \"Medium\", s: \"4sum\" },\n { n: 19, t: \"Remove Nth Node From End of List\", d: \"Medium\", s: \"remove-nth-node-from-end-of-list\" },\n { n: 20, t: \"Valid Parentheses\", d: \"Easy\", s: \"valid-parentheses\" },\n { n: 21, t: \"Merge Two Sorted Lists\", d: \"Easy\", s: \"merge-two-sorted-lists\" },\n { n: 22, t: \"Generate Parentheses\", d: \"Medium\", s: \"generate-parentheses\" },\n { n: 23, t: \"Merge k Sorted Lists\", d: \"Hard\", s: \"merge-k-sorted-lists\" },\n { n: 24, t: \"Swap Nodes in Pairs\", d: \"Medium\", s: \"swap-nodes-in-pairs\" },\n { n: 25, t: \"Reverse Nodes in k-Group\", d: \"Hard\", s: \"reverse-nodes-in-k-group\" },\n { n: 26, t: \"Remove Duplicates from Sorted Array\", d: \"Easy\", s: \"remove-duplicates-from-sorted-array\" },\n { n: 27, t: \"Remove Element\", d: \"Easy\", s: \"remove-element\" },\n { n: 28, t: \"Find the Index of the First Occurrence in a String\", d: \"Easy\", s: \"find-the-index-of-the-first-occurrence-in-a-string\" },\n { n: 29, t: \"Divide Two Integers\", d: \"Medium\", s: \"divide-two-integers\" },\n { n: 30, t: \"Substring with Concatenation of All Words\", d: \"Hard\", s: \"substring-with-concatenation-of-all-words\" },\n { n: 31, t: \"Next Permutation\", d: \"Medium\", s: \"next-permutation\" },\n { n: 32, t: \"Longest Valid Parentheses\", d: \"Hard\", s: \"longest-valid-parentheses\" },\n { n: 33, t: \"Search in Rotated Sorted Array\", d: \"Medium\", s: \"search-in-rotated-sorted-array\" },\n { n: 34, t: \"Find First and Last Position of Element in Sorted Array\", d: \"Medium\", s: \"find-first-and-last-position-of-element-in-sorted-array\" },\n { n: 35, t: \"Search Insert Position\", d: \"Easy\", s: \"search-insert-position\" },\n { n: 36, t: \"Valid Sudoku\", d: \"Medium\", s: \"valid-sudoku\" },\n { n: 37, t: \"Sudoku Solver\", d: \"Hard\", s: \"sudoku-solver\" },\n { n: 38, t: \"Count and Say\", d: \"Medium\", s: \"count-and-say\" },\n { n: 39, t: \"Combination Sum\", d: \"Medium\", s: \"combination-sum\" },\n { n: 40, t: \"Combination Sum II\", d: \"Medium\", s: \"combination-sum-ii\" },\n { n: 41, t: \"First Missing Positive\", d: \"Hard\", s: \"first-missing-positive\" },\n { n: 42, t: \"Trapping Rain Water\", d: \"Hard\", s: \"trapping-rain-water\" },\n { n: 43, t: \"Multiply Strings\", d: \"Medium\", s: \"multiply-strings\" },\n { n: 44, t: \"Wildcard Matching\", d: \"Hard\", s: \"wildcard-matching\" },\n { n: 45, t: \"Jump Game II\", d: \"Medium\", s: \"jump-game-ii\" },\n { n: 46, t: \"Permutations\", d: \"Medium\", s: \"permutations\" },\n { n: 47, t: \"Permutations II\", d: \"Medium\", s: \"permutations-ii\" },\n { n: 48, t: \"Rotate Image\", d: \"Medium\", s: \"rotate-image\" },\n { n: 49, t: \"Group Anagrams\", d: \"Medium\", s: \"group-anagrams\" },\n { n: 50, t: \"Pow(x, n)\", d: \"Medium\", s: \"powx-n\" },\n { n: 51, t: \"N-Queens\", d: \"Hard\", s: \"n-queens\" },\n { n: 52, t: \"N-Queens II\", d: \"Hard\", s: \"n-queens-ii\" },\n { n: 53, t: \"Maximum Subarray\", d: \"Medium\", s: \"maximum-subarray\" },\n { n: 54, t: \"Spiral Matrix\", d: \"Medium\", s: \"spiral-matrix\" },\n { n: 55, t: \"Jump Game\", d: \"Medium\", s: \"jump-game\" },\n { n: 56, t: \"Merge Intervals\", d: \"Medium\", s: \"merge-intervals\" },\n { n: 57, t: \"Insert Interval\", d: \"Medium\", s: \"insert-interval\" },\n { n: 58, t: \"Length of Last Word\", d: \"Easy\", s: \"length-of-last-word\" },\n { n: 59, t: \"Spiral Matrix II\", d: \"Medium\", s: \"spiral-matrix-ii\" },\n { n: 60, t: \"Permutation Sequence\", d: \"Hard\", s: \"permutation-sequence\" },\n { n: 61, t: \"Rotate List\", d: \"Medium\", s: \"rotate-list\" },\n { n: 62, t: \"Unique Paths\", d: \"Medium\", s: \"unique-paths\" },\n { n: 63, t: \"Unique Paths II\", d: \"Medium\", s: \"unique-paths-ii\" },\n { n: 64, t: \"Minimum Path Sum\", d: \"Medium\", s: \"minimum-path-sum\" },\n { n: 65, t: \"Valid Number\", d: \"Hard\", s: \"valid-number\" },\n { n: 66, t: \"Plus One\", d: \"Easy\", s: \"plus-one\" },\n { n: 67, t: \"Add Binary\", d: \"Easy\", s: \"add-binary\" },\n { n: 68, t: \"Text Justification\", d: \"Hard\", s: \"text-justification\" },\n { n: 69, t: \"Sqrt(x)\", d: \"Easy\", s: \"sqrtx\" },\n { n: 70, t: \"Climbing Stairs\", d: \"Easy\", s: \"climbing-stairs\" },\n { n: 71, t: \"Simplify Path\", d: \"Medium\", s: \"simplify-path\" },\n { n: 72, t: \"Edit Distance\", d: \"Medium\", s: \"edit-distance\" },\n { n: 73, t: \"Set Matrix Zeroes\", d: \"Medium\", s: \"set-matrix-zeroes\" },\n { n: 74, t: \"Search a 2D Matrix\", d: \"Medium\", s: \"search-a-2d-matrix\" },\n { n: 75, t: \"Sort Colors\", d: \"Medium\", s: \"sort-colors\" },\n { n: 76, t: \"Minimum Window Substring\", d: \"Hard\", s: \"minimum-window-substring\" },\n { n: 77, t: \"Combinations\", d: \"Medium\", s: \"combinations\" },\n { n: 78, t: \"Subsets\", d: \"Medium\", s: \"subsets\" },\n { n: 79, t: \"Word Search\", d: \"Medium\", s: \"word-search\" },\n { n: 80, t: \"Remove Duplicates from Sorted Array II\", d: \"Medium\", s: \"remove-duplicates-from-sorted-array-ii\" },\n { n: 81, t: \"Search in Rotated Sorted Array II\", d: \"Medium\", s: \"search-in-rotated-sorted-array-ii\" },\n { n: 82, t: \"Remove Duplicates from Sorted List II\", d: \"Medium\", s: \"remove-duplicates-from-sorted-list-ii\" },\n { n: 83, t: \"Remove Duplicates from Sorted List\", d: \"Easy\", s: \"remove-duplicates-from-sorted-list\" },\n { n: 84, t: \"Largest Rectangle in Histogram\", d: \"Hard\", s: \"largest-rectangle-in-histogram\" },\n { n: 85, t: \"Maximal Rectangle\", d: \"Hard\", s: \"maximal-rectangle\" },\n { n: 86, t: \"Partition List\", d: \"Medium\", s: \"partition-list\" },\n { n: 87, t: \"Scramble String\", d: \"Hard\", s: \"scramble-string\" },\n { n: 88, t: \"Merge Sorted Array\", d: \"Easy\", s: \"merge-sorted-array\" },\n { n: 89, t: \"Gray Code\", d: \"Medium\", s: \"gray-code\" },\n { n: 90, t: \"Subsets II\", d: \"Medium\", s: \"subsets-ii\" },\n { n: 91, t: \"Decode Ways\", d: \"Medium\", s: \"decode-ways\" },\n { n: 92, t: \"Reverse Linked List II\", d: \"Medium\", s: \"reverse-linked-list-ii\" },\n { n: 93, t: \"Restore IP Addresses\", d: \"Medium\", s: \"restore-ip-addresses\" },\n { n: 94, t: \"Binary Tree Inorder Traversal\", d: \"Easy\", s: \"binary-tree-inorder-traversal\" },\n { n: 95, t: \"Unique Binary Search Trees II\", d: \"Medium\", s: \"unique-binary-search-trees-ii\" },\n { n: 96, t: \"Unique Binary Search Trees\", d: \"Medium\", s: \"unique-binary-search-trees\" },\n { n: 97, t: \"Interleaving String\", d: \"Medium\", s: \"interleaving-string\" },\n { n: 98, t: \"Validate Binary Search Tree\", d: \"Medium\", s: \"validate-binary-search-tree\" },\n { n: 99, t: \"Recover Binary Search Tree\", d: \"Medium\", s: \"recover-binary-search-tree\" },\n { n: 100, t: \"Same Tree\", d: \"Easy\", s: \"same-tree\" },\n { n: 101, t: \"Symmetric Tree\", d: \"Easy\", s: \"symmetric-tree\" },\n { n: 102, t: \"Binary Tree Level Order Traversal\", d: \"Medium\", s: \"binary-tree-level-order-traversal\" },\n { n: 103, t: \"Binary Tree Zigzag Level Order Traversal\", d: \"Medium\", s: \"binary-tree-zigzag-level-order-traversal\" },\n { n: 104, t: \"Maximum Depth of Binary Tree\", d: \"Easy\", s: \"maximum-depth-of-binary-tree\" },\n { n: 105, t: \"Construct Binary Tree from Preorder and Inorder Traversal\", d: \"Medium\", s: \"construct-binary-tree-from-preorder-and-inorder-traversal\" },\n { n: 106, t: \"Construct Binary Tree from Inorder and Postorder Traversal\", d: \"Medium\", s: \"construct-binary-tree-from-inorder-and-postorder-traversal\" },\n { n: 107, t: \"Binary Tree Level Order Traversal II\", d: \"Medium\", s: \"binary-tree-level-order-traversal-ii\" },\n { n: 108, t: \"Convert Sorted Array to Binary Search Tree\", d: \"Easy\", s: \"convert-sorted-array-to-binary-search-tree\" },\n { n: 109, t: \"Convert Sorted List to Binary Search Tree\", d: \"Medium\", s: \"convert-sorted-list-to-binary-search-tree\" },\n { n: 110, t: \"Balanced Binary Tree\", d: \"Easy\", s: \"balanced-binary-tree\" },\n { n: 111, t: \"Minimum Depth of Binary Tree\", d: \"Easy\", s: \"minimum-depth-of-binary-tree\" },\n { n: 112, t: \"Path Sum\", d: \"Easy\", s: \"path-sum\" },\n { n: 113, t: \"Path Sum II\", d: \"Medium\", s: \"path-sum-ii\" },\n { n: 114, t: \"Flatten Binary Tree to Linked List\", d: \"Medium\", s: \"flatten-binary-tree-to-linked-list\" },\n { n: 115, t: \"Distinct Subsequences\", d: \"Hard\", s: \"distinct-subsequences\" },\n { n: 116, t: \"Populating Next Right Pointers in Each Node\", d: \"Medium\", s: \"populating-next-right-pointers-in-each-node\" },\n { n: 117, t: \"Populating Next Right Pointers in Each Node II\", d: \"Medium\", s: \"populating-next-right-pointers-in-each-node-ii\" },\n { n: 118, t: \"Pascal\\'s Triangle\", d: \"Easy\", s: \"pascals-triangle\" },\n { n: 119, t: \"Pascal\\'s Triangle II\", d: \"Easy\", s: \"pascals-triangle-ii\" },\n { n: 120, t: \"Triangle\", d: \"Medium\", s: \"triangle\" },\n { n: 121, t: \"Best Time to Buy and Sell Stock\", d: \"Easy\", s: \"best-time-to-buy-and-sell-stock\" },\n { n: 122, t: \"Best Time to Buy and Sell Stock II\", d: \"Medium\", s: \"best-time-to-buy-and-sell-stock-ii\" },\n { n: 123, t: \"Best Time to Buy and Sell Stock III\", d: \"Hard\", s: \"best-time-to-buy-and-sell-stock-iii\" },\n { n: 124, t: \"Binary Tree Maximum Path Sum\", d: \"Hard\", s: \"binary-tree-maximum-path-sum\" },\n { n: 125, t: \"Valid Palindrome\", d: \"Easy\", s: \"valid-palindrome\" },\n { n: 126, t: \"Word Ladder II\", d: \"Hard\", s: \"word-ladder-ii\" },\n { n: 127, t: \"Word Ladder\", d: \"Hard\", s: \"word-ladder\" },\n { n: 128, t: \"Longest Consecutive Sequence\", d: \"Medium\", s: \"longest-consecutive-sequence\" },\n { n: 129, t: \"Sum Root to Leaf Numbers\", d: \"Medium\", s: \"sum-root-to-leaf-numbers\" },\n { n: 130, t: \"Surrounded Regions\", d: \"Medium\", s: \"surrounded-regions\" },\n { n: 131, t: \"Palindrome Partitioning\", d: \"Medium\", s: \"palindrome-partitioning\" },\n { n: 132, t: \"Palindrome Partitioning II\", d: \"Hard\", s: \"palindrome-partitioning-ii\" },\n { n: 133, t: \"Clone Graph\", d: \"Medium\", s: \"clone-graph\" },\n { n: 134, t: \"Gas Station\", d: \"Medium\", s: \"gas-station\" },\n { n: 135, t: \"Candy\", d: \"Hard\", s: \"candy\" },\n { n: 136, t: \"Single Number\", d: \"Easy\", s: \"single-number\" },\n { n: 137, t: \"Single Number II\", d: \"Medium\", s: \"single-number-ii\" },\n { n: 138, t: \"Copy List with Random Pointer\", d: \"Medium\", s: \"copy-list-with-random-pointer\" },\n { n: 139, t: \"Word Break\", d: \"Medium\", s: \"word-break\" },\n { n: 140, t: \"Word Break II\", d: \"Hard\", s: \"word-break-ii\" },\n { n: 141, t: \"Linked List Cycle\", d: \"Easy\", s: \"linked-list-cycle\" },\n { n: 142, t: \"Linked List Cycle II\", d: \"Medium\", s: \"linked-list-cycle-ii\" },\n { n: 143, t: \"Reorder List\", d: \"Medium\", s: \"reorder-list\" },\n { n: 144, t: \"Binary Tree Preorder Traversal\", d: \"Easy\", s: \"binary-tree-preorder-traversal\" },\n { n: 145, t: \"Binary Tree Postorder Traversal\", d: \"Easy\", s: \"binary-tree-postorder-traversal\" },\n { n: 146, t: \"LRU Cache\", d: \"Medium\", s: \"lru-cache\" },\n { n: 147, t: \"Insertion Sort List\", d: \"Medium\", s: \"insertion-sort-list\" },\n { n: 148, t: \"Sort List\", d: \"Medium\", s: \"sort-list\" },\n { n: 149, t: \"Max Points on a Line\", d: \"Hard\", s: \"max-points-on-a-line\" },\n { n: 150, t: \"Evaluate Reverse Polish Notation\", d: \"Medium\", s: \"evaluate-reverse-polish-notation\" },\n { n: 151, t: \"Reverse Words in a String\", d: \"Medium\", s: \"reverse-words-in-a-string\" },\n { n: 152, t: \"Maximum Product Subarray\", d: \"Medium\", s: \"maximum-product-subarray\" },\n { n: 153, t: \"Find Minimum in Rotated Sorted Array\", d: \"Medium\", s: \"find-minimum-in-rotated-sorted-array\" },\n { n: 154, t: \"Find Minimum in Rotated Sorted Array II\", d: \"Hard\", s: \"find-minimum-in-rotated-sorted-array-ii\" },\n { n: 155, t: \"Min Stack\", d: \"Medium\", s: \"min-stack\" },\n { n: 156, t: \"Binary Tree Upside Down\", d: \"Medium\", s: \"binary-tree-upside-down\" },\n { n: 157, t: \"Read N Characters Given Read4\", d: \"Easy\", s: \"read-n-characters-given-read4\" },\n { n: 158, t: \"Read N Characters Given read4 II - Call Multiple Times\", d: \"Hard\", s: \"read-n-characters-given-read4-ii-call-multiple-times\" },\n { n: 159, t: \"Longest Substring with At Most Two Distinct Characters\", d: \"Medium\", s: \"longest-substring-with-at-most-two-distinct-characters\" },\n { n: 160, t: \"Intersection of Two Linked Lists\", d: \"Easy\", s: \"intersection-of-two-linked-lists\" },\n { n: 161, t: \"One Edit Distance\", d: \"Medium\", s: \"one-edit-distance\" },\n { n: 162, t: \"Find Peak Element\", d: \"Medium\", s: \"find-peak-element\" },\n { n: 163, t: \"Missing Ranges\", d: \"Easy\", s: \"missing-ranges\" },\n { n: 164, t: \"Maximum Gap\", d: \"Medium\", s: \"maximum-gap\" },\n { n: 165, t: \"Compare Version Numbers\", d: \"Medium\", s: \"compare-version-numbers\" },\n { n: 166, t: \"Fraction to Recurring Decimal\", d: \"Medium\", s: \"fraction-to-recurring-decimal\" },\n { n: 167, t: \"Two Sum II - Input Array Is Sorted\", d: \"Medium\", s: \"two-sum-ii-input-array-is-sorted\" },\n { n: 168, t: \"Excel Sheet Column Title\", d: \"Easy\", s: \"excel-sheet-column-title\" },\n { n: 169, t: \"Majority Element\", d: \"Easy\", s: \"majority-element\" },\n { n: 170, t: \"Two Sum III - Data structure design\", d: \"Easy\", s: \"two-sum-iii-data-structure-design\" },\n { n: 171, t: \"Excel Sheet Column Number\", d: \"Easy\", s: \"excel-sheet-column-number\" },\n { n: 172, t: \"Factorial Trailing Zeroes\", d: \"Medium\", s: \"factorial-trailing-zeroes\" },\n { n: 173, t: \"Binary Search Tree Iterator\", d: \"Medium\", s: \"binary-search-tree-iterator\" },\n { n: 174, t: \"Dungeon Game\", d: \"Hard\", s: \"dungeon-game\" },\n { n: 175, t: \"Combine Two Tables\", d: \"Easy\", s: \"combine-two-tables\" },\n { n: 176, t: \"Second Highest Salary\", d: \"Medium\", s: \"second-highest-salary\" },\n { n: 177, t: \"Nth Highest Salary\", d: \"Medium\", s: \"nth-highest-salary\" },\n { n: 178, t: \"Rank Scores\", d: \"Medium\", s: \"rank-scores\" },\n { n: 179, t: \"Largest Number\", d: \"Medium\", s: \"largest-number\" },\n { n: 180, t: \"Consecutive Numbers\", d: \"Medium\", s: \"consecutive-numbers\" },\n { n: 181, t: \"Employees Earning More Than Their Managers\", d: \"Easy\", s: \"employees-earning-more-than-their-managers\" },\n { n: 182, t: \"Duplicate Emails\", d: \"Easy\", s: \"duplicate-emails\" },\n { n: 183, t: \"Customers Who Never Order\", d: \"Easy\", s: \"customers-who-never-order\" },\n { n: 184, t: \"Department Highest Salary\", d: \"Medium\", s: \"department-highest-salary\" },\n { n: 185, t: \"Department Top Three Salaries\", d: \"Hard\", s: \"department-top-three-salaries\" },\n { n: 186, t: \"Reverse Words in a String II\", d: \"Medium\", s: \"reverse-words-in-a-string-ii\" },\n { n: 187, t: \"Repeated DNA Sequences\", d: \"Medium\", s: \"repeated-dna-sequences\" },\n { n: 188, t: \"Best Time to Buy and Sell Stock IV\", d: \"Hard\", s: \"best-time-to-buy-and-sell-stock-iv\" },\n { n: 189, t: \"Rotate Array\", d: \"Medium\", s: \"rotate-array\" },\n { n: 190, t: \"Reverse Bits\", d: \"Easy\", s: \"reverse-bits\" },\n { n: 191, t: \"Number of 1 Bits\", d: \"Easy\", s: \"number-of-1-bits\" },\n { n: 192, t: \"Word Frequency\", d: \"Medium\", s: \"word-frequency\" },\n { n: 193, t: \"Valid Phone Numbers\", d: \"Easy\", s: \"valid-phone-numbers\" },\n { n: 194, t: \"Transpose File\", d: \"Medium\", s: \"transpose-file\" },\n { n: 195, t: \"Tenth Line\", d: \"Easy\", s: \"tenth-line\" },\n { n: 196, t: \"Delete Duplicate Emails\", d: \"Easy\", s: \"delete-duplicate-emails\" },\n { n: 197, t: \"Rising Temperature\", d: \"Easy\", s: \"rising-temperature\" },\n { n: 198, t: \"House Robber\", d: \"Medium\", s: \"house-robber\" },\n { n: 199, t: \"Binary Tree Right Side View\", d: \"Medium\", s: \"binary-tree-right-side-view\" },\n { n: 200, t: \"Number of Islands\", d: \"Medium\", s: \"number-of-islands\" },\n { n: 201, t: \"Bitwise AND of Numbers Range\", d: \"Medium\", s: \"bitwise-and-of-numbers-range\" },\n { n: 202, t: \"Happy Number\", d: \"Easy\", s: \"happy-number\" },\n { n: 203, t: \"Remove Linked List Elements\", d: \"Easy\", s: \"remove-linked-list-elements\" },\n { n: 204, t: \"Count Primes\", d: \"Medium\", s: \"count-primes\" },\n { n: 205, t: \"Isomorphic Strings\", d: \"Easy\", s: \"isomorphic-strings\" },\n { n: 206, t: \"Reverse Linked List\", d: \"Easy\", s: \"reverse-linked-list\" },\n { n: 207, t: \"Course Schedule\", d: \"Medium\", s: \"course-schedule\" },\n { n: 208, t: \"Implement Trie (Prefix Tree)\", d: \"Medium\", s: \"implement-trie-prefix-tree\" },\n { n: 209, t: \"Minimum Size Subarray Sum\", d: \"Medium\", s: \"minimum-size-subarray-sum\" },\n { n: 210, t: \"Course Schedule II\", d: \"Medium\", s: \"course-schedule-ii\" },\n { n: 211, t: \"Design Add and Search Words Data Structure\", d: \"Medium\", s: \"design-add-and-search-words-data-structure\" },\n { n: 212, t: \"Word Search II\", d: \"Hard\", s: \"word-search-ii\" },\n { n: 213, t: \"House Robber II\", d: \"Medium\", s: \"house-robber-ii\" },\n { n: 214, t: \"Shortest Palindrome\", d: \"Hard\", s: \"shortest-palindrome\" },\n { n: 215, t: \"Kth Largest Element in an Array\", d: \"Medium\", s: \"kth-largest-element-in-an-array\" },\n { n: 216, t: \"Combination Sum III\", d: \"Medium\", s: \"combination-sum-iii\" },\n { n: 217, t: \"Contains Duplicate\", d: \"Easy\", s: \"contains-duplicate\" },\n { n: 218, t: \"The Skyline Problem\", d: \"Hard\", s: \"the-skyline-problem\" },\n { n: 219, t: \"Contains Duplicate II\", d: \"Easy\", s: \"contains-duplicate-ii\" },\n { n: 220, t: \"Contains Duplicate III\", d: \"Hard\", s: \"contains-duplicate-iii\" },\n { n: 221, t: \"Maximal Square\", d: \"Medium\", s: \"maximal-square\" },\n { n: 222, t: \"Count Complete Tree Nodes\", d: \"Easy\", s: \"count-complete-tree-nodes\" },\n { n: 223, t: \"Rectangle Area\", d: \"Medium\", s: \"rectangle-area\" },\n { n: 224, t: \"Basic Calculator\", d: \"Hard\", s: \"basic-calculator\" },\n { n: 225, t: \"Implement Stack using Queues\", d: \"Easy\", s: \"implement-stack-using-queues\" },\n { n: 226, t: \"Invert Binary Tree\", d: \"Easy\", s: \"invert-binary-tree\" },\n { n: 227, t: \"Basic Calculator II\", d: \"Medium\", s: \"basic-calculator-ii\" },\n { n: 228, t: \"Summary Ranges\", d: \"Easy\", s: \"summary-ranges\" },\n { n: 229, t: \"Majority Element II\", d: \"Medium\", s: \"majority-element-ii\" },\n { n: 230, t: \"Kth Smallest Element in a BST\", d: \"Medium\", s: \"kth-smallest-element-in-a-bst\" },\n { n: 231, t: \"Power of Two\", d: \"Easy\", s: \"power-of-two\" },\n { n: 232, t: \"Implement Queue using Stacks\", d: \"Easy\", s: \"implement-queue-using-stacks\" },\n { n: 233, t: \"Number of Digit One\", d: \"Hard\", s: \"number-of-digit-one\" },\n { n: 234, t: \"Palindrome Linked List\", d: \"Easy\", s: \"palindrome-linked-list\" },\n { n: 235, t: \"Lowest Common Ancestor of a Binary Search Tree\", d: \"Medium\", s: \"lowest-common-ancestor-of-a-binary-search-tree\" },\n { n: 236, t: \"Lowest Common Ancestor of a Binary Tree\", d: \"Medium\", s: \"lowest-common-ancestor-of-a-binary-tree\" },\n { n: 237, t: \"Delete Node in a Linked List\", d: \"Medium\", s: \"delete-node-in-a-linked-list\" },\n { n: 238, t: \"Product of Array Except Self\", d: \"Medium\", s: \"product-of-array-except-self\" },\n { n: 239, t: \"Sliding Window Maximum\", d: \"Hard\", s: \"sliding-window-maximum\" },\n { n: 240, t: \"Search a 2D Matrix II\", d: \"Medium\", s: \"search-a-2d-matrix-ii\" },\n { n: 241, t: \"Different Ways to Add Parentheses\", d: \"Medium\", s: \"different-ways-to-add-parentheses\" },\n { n: 242, t: \"Valid Anagram\", d: \"Easy\", s: \"valid-anagram\" },\n { n: 243, t: \"Shortest Word Distance\", d: \"Easy\", s: \"shortest-word-distance\" },\n { n: 244, t: \"Shortest Word Distance II\", d: \"Medium\", s: \"shortest-word-distance-ii\" },\n { n: 245, t: \"Shortest Word Distance III\", d: \"Medium\", s: \"shortest-word-distance-iii\" },\n { n: 246, t: \"Strobogrammatic Number\", d: \"Easy\", s: \"strobogrammatic-number\" },\n { n: 247, t: \"Strobogrammatic Number II\", d: \"Medium\", s: \"strobogrammatic-number-ii\" },\n { n: 248, t: \"Strobogrammatic Number III\", d: \"Hard\", s: \"strobogrammatic-number-iii\" },\n { n: 249, t: \"Group Shifted Strings\", d: \"Medium\", s: \"group-shifted-strings\" },\n { n: 250, t: \"Count Univalue Subtrees\", d: \"Medium\", s: \"count-univalue-subtrees\" },\n { n: 251, t: \"Flatten 2D Vector\", d: \"Medium\", s: \"flatten-2d-vector\" },\n { n: 252, t: \"Meeting Rooms\", d: \"Easy\", s: \"meeting-rooms\" },\n { n: 253, t: \"Meeting Rooms II\", d: \"Medium\", s: \"meeting-rooms-ii\" },\n { n: 254, t: \"Factor Combinations\", d: \"Medium\", s: \"factor-combinations\" },\n { n: 255, t: \"Verify Preorder Sequence in Binary Search Tree\", d: \"Medium\", s: \"verify-preorder-sequence-in-binary-search-tree\" },\n { n: 256, t: \"Paint House\", d: \"Medium\", s: \"paint-house\" },\n { n: 257, t: \"Binary Tree Paths\", d: \"Easy\", s: \"binary-tree-paths\" },\n { n: 258, t: \"Add Digits\", d: \"Easy\", s: \"add-digits\" },\n { n: 259, t: \"3Sum Smaller\", d: \"Medium\", s: \"3sum-smaller\" },\n { n: 260, t: \"Single Number III\", d: \"Medium\", s: \"single-number-iii\" },\n { n: 261, t: \"Graph Valid Tree\", d: \"Medium\", s: \"graph-valid-tree\" },\n { n: 262, t: \"Trips and Users\", d: \"Hard\", s: \"trips-and-users\" },\n { n: 263, t: \"Ugly Number\", d: \"Easy\", s: \"ugly-number\" },\n { n: 264, t: \"Ugly Number II\", d: \"Medium\", s: \"ugly-number-ii\" },\n { n: 265, t: \"Paint House II\", d: \"Hard\", s: \"paint-house-ii\" },\n { n: 266, t: \"Palindrome Permutation\", d: \"Easy\", s: \"palindrome-permutation\" },\n { n: 267, t: \"Palindrome Permutation II\", d: \"Medium\", s: \"palindrome-permutation-ii\" },\n { n: 268, t: \"Missing Number\", d: \"Easy\", s: \"missing-number\" },\n { n: 269, t: \"Alien Dictionary\", d: \"Hard\", s: \"alien-dictionary\" },\n { n: 270, t: \"Closest Binary Search Tree Value\", d: \"Easy\", s: \"closest-binary-search-tree-value\" },\n { n: 271, t: \"Encode and Decode Strings\", d: \"Medium\", s: \"encode-and-decode-strings\" },\n { n: 272, t: \"Closest Binary Search Tree Value II\", d: \"Hard\", s: \"closest-binary-search-tree-value-ii\" },\n { n: 273, t: \"Integer to English Words\", d: \"Hard\", s: \"integer-to-english-words\" },\n { n: 274, t: \"H-Index\", d: \"Medium\", s: \"h-index\" },\n { n: 275, t: \"H-Index II\", d: \"Medium\", s: \"h-index-ii\" },\n { n: 276, t: \"Paint Fence\", d: \"Medium\", s: \"paint-fence\" },\n { n: 277, t: \"Find the Celebrity\", d: \"Medium\", s: \"find-the-celebrity\" },\n { n: 278, t: \"First Bad Version\", d: \"Easy\", s: \"first-bad-version\" },\n { n: 279, t: \"Perfect Squares\", d: \"Medium\", s: \"perfect-squares\" },\n { n: 280, t: \"Wiggle Sort\", d: \"Medium\", s: \"wiggle-sort\" },\n { n: 281, t: \"Zigzag Iterator\", d: \"Medium\", s: \"zigzag-iterator\" },\n { n: 282, t: \"Expression Add Operators\", d: \"Hard\", s: \"expression-add-operators\" },\n { n: 283, t: \"Move Zeroes\", d: \"Easy\", s: \"move-zeroes\" },\n { n: 284, t: \"Peeking Iterator\", d: \"Medium\", s: \"peeking-iterator\" },\n { n: 285, t: \"Inorder Successor in BST\", d: \"Medium\", s: \"inorder-successor-in-bst\" },\n { n: 286, t: \"Walls and Gates\", d: \"Medium\", s: \"walls-and-gates\" },\n { n: 287, t: \"Find the Duplicate Number\", d: \"Medium\", s: \"find-the-duplicate-number\" },\n { n: 288, t: \"Unique Word Abbreviation\", d: \"Medium\", s: \"unique-word-abbreviation\" },\n { n: 289, t: \"Game of Life\", d: \"Medium\", s: \"game-of-life\" },\n { n: 290, t: \"Word Pattern\", d: \"Easy\", s: \"word-pattern\" },\n { n: 291, t: \"Word Pattern II\", d: \"Medium\", s: \"word-pattern-ii\" },\n { n: 292, t: \"Nim Game\", d: \"Easy\", s: \"nim-game\" },\n { n: 293, t: \"Flip Game\", d: \"Easy\", s: \"flip-game\" },\n { n: 294, t: \"Flip Game II\", d: \"Medium\", s: \"flip-game-ii\" },\n { n: 295, t: \"Find Median from Data Stream\", d: \"Hard\", s: \"find-median-from-data-stream\" },\n { n: 296, t: \"Best Meeting Point\", d: \"Hard\", s: \"best-meeting-point\" },\n { n: 297, t: \"Serialize and Deserialize Binary Tree\", d: \"Hard\", s: \"serialize-and-deserialize-binary-tree\" },\n { n: 298, t: \"Binary Tree Longest Consecutive Sequence\", d: \"Medium\", s: \"binary-tree-longest-consecutive-sequence\" },\n { n: 299, t: \"Bulls and Cows\", d: \"Medium\", s: \"bulls-and-cows\" },\n { n: 300, t: \"Longest Increasing Subsequence\", d: \"Medium\", s: \"longest-increasing-subsequence\" },\n { n: 301, t: \"Remove Invalid Parentheses\", d: \"Hard\", s: \"remove-invalid-parentheses\" },\n { n: 302, t: \"Smallest Rectangle Enclosing Black Pixels\", d: \"Hard\", s: \"smallest-rectangle-enclosing-black-pixels\" },\n { n: 303, t: \"Range Sum Query - Immutable\", d: \"Easy\", s: \"range-sum-query-immutable\" },\n { n: 304, t: \"Range Sum Query 2D - Immutable\", d: \"Medium\", s: \"range-sum-query-2d-immutable\" },\n { n: 305, t: \"Number of Islands II\", d: \"Hard\", s: \"number-of-islands-ii\" },\n { n: 306, t: \"Additive Number\", d: \"Medium\", s: \"additive-number\" },\n { n: 307, t: \"Range Sum Query - Mutable\", d: \"Medium\", s: \"range-sum-query-mutable\" },\n { n: 308, t: \"Range Sum Query 2D - Mutable\", d: \"Medium\", s: \"range-sum-query-2d-mutable\" },\n { n: 309, t: \"Best Time to Buy and Sell Stock with Cooldown\", d: \"Medium\", s: \"best-time-to-buy-and-sell-stock-with-cooldown\" },\n { n: 310, t: \"Minimum Height Trees\", d: \"Medium\", s: \"minimum-height-trees\" },\n { n: 311, t: \"Sparse Matrix Multiplication\", d: \"Medium\", s: \"sparse-matrix-multiplication\" },\n { n: 312, t: \"Burst Balloons\", d: \"Hard\", s: \"burst-balloons\" },\n { n: 313, t: \"Super Ugly Number\", d: \"Medium\", s: \"super-ugly-number\" },\n { n: 314, t: \"Binary Tree Vertical Order Traversal\", d: \"Medium\", s: \"binary-tree-vertical-order-traversal\" },\n { n: 315, t: \"Count of Smaller Numbers After Self\", d: \"Hard\", s: \"count-of-smaller-numbers-after-self\" },\n { n: 316, t: \"Remove Duplicate Letters\", d: \"Medium\", s: \"remove-duplicate-letters\" },\n { n: 317, t: \"Shortest Distance from All Buildings\", d: \"Hard\", s: \"shortest-distance-from-all-buildings\" },\n { n: 318, t: \"Maximum Product of Word Lengths\", d: \"Medium\", s: \"maximum-product-of-word-lengths\" },\n { n: 319, t: \"Bulb Switcher\", d: \"Medium\", s: \"bulb-switcher\" },\n { n: 320, t: \"Generalized Abbreviation\", d: \"Medium\", s: \"generalized-abbreviation\" },\n { n: 321, t: \"Create Maximum Number\", d: \"Hard\", s: \"create-maximum-number\" },\n { n: 322, t: \"Coin Change\", d: \"Medium\", s: \"coin-change\" },\n { n: 323, t: \"Number of Connected Components in an Undirected Graph\", d: \"Medium\", s: \"number-of-connected-components-in-an-undirected-graph\" },\n { n: 324, t: \"Wiggle Sort II\", d: \"Medium\", s: \"wiggle-sort-ii\" },\n { n: 325, t: \"Maximum Size Subarray Sum Equals k\", d: \"Medium\", s: \"maximum-size-subarray-sum-equals-k\" },\n { n: 326, t: \"Power of Three\", d: \"Easy\", s: \"power-of-three\" },\n { n: 327, t: \"Count of Range Sum\", d: \"Hard\", s: \"count-of-range-sum\" },\n { n: 328, t: \"Odd Even Linked List\", d: \"Medium\", s: \"odd-even-linked-list\" },\n { n: 329, t: \"Longest Increasing Path in a Matrix\", d: \"Hard\", s: \"longest-increasing-path-in-a-matrix\" },\n { n: 330, t: \"Patching Array\", d: \"Hard\", s: \"patching-array\" },\n { n: 331, t: \"Verify Preorder Serialization of a Binary Tree\", d: \"Medium\", s: \"verify-preorder-serialization-of-a-binary-tree\" },\n { n: 332, t: \"Reconstruct Itinerary\", d: \"Hard\", s: \"reconstruct-itinerary\" },\n { n: 333, t: \"Largest BST Subtree\", d: \"Medium\", s: \"largest-bst-subtree\" },\n { n: 334, t: \"Increasing Triplet Subsequence\", d: \"Medium\", s: \"increasing-triplet-subsequence\" },\n { n: 335, t: \"Self Crossing\", d: \"Hard\", s: \"self-crossing\" },\n { n: 336, t: \"Palindrome Pairs\", d: \"Hard\", s: \"palindrome-pairs\" },\n { n: 337, t: \"House Robber III\", d: \"Medium\", s: \"house-robber-iii\" },\n { n: 338, t: \"Counting Bits\", d: \"Easy\", s: \"counting-bits\" },\n { n: 339, t: \"Nested List Weight Sum\", d: \"Medium\", s: \"nested-list-weight-sum\" },\n { n: 340, t: \"Longest Substring with At Most K Distinct Characters\", d: \"Medium\", s: \"longest-substring-with-at-most-k-distinct-characters\" },\n { n: 341, t: \"Flatten Nested List Iterator\", d: \"Medium\", s: \"flatten-nested-list-iterator\" },\n { n: 342, t: \"Power of Four\", d: \"Easy\", s: \"power-of-four\" },\n { n: 343, t: \"Integer Break\", d: \"Medium\", s: \"integer-break\" },\n { n: 344, t: \"Reverse String\", d: \"Easy\", s: \"reverse-string\" },\n { n: 345, t: \"Reverse Vowels of a String\", d: \"Easy\", s: \"reverse-vowels-of-a-string\" },\n { n: 346, t: \"Moving Average from Data Stream\", d: \"Easy\", s: \"moving-average-from-data-stream\" },\n { n: 347, t: \"Top K Frequent Elements\", d: \"Medium\", s: \"top-k-frequent-elements\" },\n { n: 348, t: \"Design Tic-Tac-Toe\", d: \"Medium\", s: \"design-tic-tac-toe\" },\n { n: 349, t: \"Intersection of Two Arrays\", d: \"Easy\", s: \"intersection-of-two-arrays\" },\n { n: 350, t: \"Intersection of Two Arrays II\", d: \"Easy\", s: \"intersection-of-two-arrays-ii\" },\n { n: 351, t: \"Android Unlock Patterns\", d: \"Medium\", s: \"android-unlock-patterns\" },\n { n: 352, t: \"Data Stream as Disjoint Intervals\", d: \"Hard\", s: \"data-stream-as-disjoint-intervals\" },\n { n: 353, t: \"Design Snake Game\", d: \"Medium\", s: \"design-snake-game\" },\n { n: 354, t: \"Russian Doll Envelopes\", d: \"Hard\", s: \"russian-doll-envelopes\" },\n { n: 355, t: \"Design Twitter\", d: \"Medium\", s: \"design-twitter\" },\n { n: 356, t: \"Line Reflection\", d: \"Medium\", s: \"line-reflection\" },\n { n: 357, t: \"Count Numbers with Unique Digits\", d: \"Medium\", s: \"count-numbers-with-unique-digits\" },\n { n: 358, t: \"Rearrange String k Distance Apart\", d: \"Hard\", s: \"rearrange-string-k-distance-apart\" },\n { n: 359, t: \"Logger Rate Limiter\", d: \"Easy\", s: \"logger-rate-limiter\" },\n { n: 360, t: \"Sort Transformed Array\", d: \"Medium\", s: \"sort-transformed-array\" },\n { n: 361, t: \"Bomb Enemy\", d: \"Medium\", s: \"bomb-enemy\" },\n { n: 362, t: \"Design Hit Counter\", d: \"Medium\", s: \"design-hit-counter\" },\n { n: 363, t: \"Max Sum of Rectangle No Larger Than K\", d: \"Hard\", s: \"max-sum-of-rectangle-no-larger-than-k\" },\n { n: 364, t: \"Nested List Weight Sum II\", d: \"Medium\", s: \"nested-list-weight-sum-ii\" },\n { n: 365, t: \"Water and Jug Problem\", d: \"Medium\", s: \"water-and-jug-problem\" },\n { n: 366, t: \"Find Leaves of Binary Tree\", d: \"Medium\", s: \"find-leaves-of-binary-tree\" },\n { n: 367, t: \"Valid Perfect Square\", d: \"Easy\", s: \"valid-perfect-square\" },\n { n: 368, t: \"Largest Divisible Subset\", d: \"Medium\", s: \"largest-divisible-subset\" },\n { n: 369, t: \"Plus One Linked List\", d: \"Medium\", s: \"plus-one-linked-list\" },\n { n: 370, t: \"Range Addition\", d: \"Medium\", s: \"range-addition\" },\n { n: 371, t: \"Sum of Two Integers\", d: \"Medium\", s: \"sum-of-two-integers\" },\n { n: 372, t: \"Super Pow\", d: \"Medium\", s: \"super-pow\" },\n { n: 373, t: \"Find K Pairs with Smallest Sums\", d: \"Medium\", s: \"find-k-pairs-with-smallest-sums\" },\n { n: 374, t: \"Guess Number Higher or Lower\", d: \"Easy\", s: \"guess-number-higher-or-lower\" },\n { n: 375, t: \"Guess Number Higher or Lower II\", d: \"Medium\", s: \"guess-number-higher-or-lower-ii\" },\n { n: 376, t: \"Wiggle Subsequence\", d: \"Medium\", s: \"wiggle-subsequence\" },\n { n: 377, t: \"Combination Sum IV\", d: \"Medium\", s: \"combination-sum-iv\" },\n { n: 378, t: \"Kth Smallest Element in a Sorted Matrix\", d: \"Medium\", s: \"kth-smallest-element-in-a-sorted-matrix\" },\n { n: 379, t: \"Design Phone Directory\", d: \"Medium\", s: \"design-phone-directory\" },\n { n: 380, t: \"Insert Delete GetRandom O(1)\", d: \"Medium\", s: \"insert-delete-getrandom-o1\" },\n { n: 381, t: \"Insert Delete GetRandom O(1) - Duplicates allowed\", d: \"Hard\", s: \"insert-delete-getrandom-o1-duplicates-allowed\" },\n { n: 382, t: \"Linked List Random Node\", d: \"Medium\", s: \"linked-list-random-node\" },\n { n: 383, t: \"Ransom Note\", d: \"Easy\", s: \"ransom-note\" },\n { n: 384, t: \"Shuffle an Array\", d: \"Medium\", s: \"shuffle-an-array\" },\n { n: 385, t: \"Mini Parser\", d: \"Medium\", s: \"mini-parser\" },\n { n: 386, t: \"Lexicographical Numbers\", d: \"Medium\", s: \"lexicographical-numbers\" },\n { n: 387, t: \"First Unique Character in a String\", d: \"Easy\", s: \"first-unique-character-in-a-string\" },\n { n: 388, t: \"Longest Absolute File Path\", d: \"Medium\", s: \"longest-absolute-file-path\" },\n { n: 389, t: \"Find the Difference\", d: \"Easy\", s: \"find-the-difference\" },\n { n: 390, t: \"Elimination Game\", d: \"Medium\", s: \"elimination-game\" },\n { n: 391, t: \"Perfect Rectangle\", d: \"Hard\", s: \"perfect-rectangle\" },\n { n: 392, t: \"Is Subsequence\", d: \"Easy\", s: \"is-subsequence\" },\n { n: 393, t: \"UTF-8 Validation\", d: \"Medium\", s: \"utf-8-validation\" },\n { n: 394, t: \"Decode String\", d: \"Medium\", s: \"decode-string\" },\n { n: 395, t: \"Longest Substring with At Least K Repeating Characters\", d: \"Medium\", s: \"longest-substring-with-at-least-k-repeating-characters\" },\n { n: 396, t: \"Rotate Function\", d: \"Medium\", s: \"rotate-function\" },\n { n: 397, t: \"Integer Replacement\", d: \"Medium\", s: \"integer-replacement\" },\n { n: 398, t: \"Random Pick Index\", d: \"Medium\", s: \"random-pick-index\" },\n { n: 399, t: \"Evaluate Division\", d: \"Medium\", s: \"evaluate-division\" },\n { n: 400, t: \"Nth Digit\", d: \"Medium\", s: \"nth-digit\" },\n { n: 401, t: \"Binary Watch\", d: \"Easy\", s: \"binary-watch\" },\n { n: 402, t: \"Remove K Digits\", d: \"Medium\", s: \"remove-k-digits\" },\n { n: 403, t: \"Frog Jump\", d: \"Hard\", s: \"frog-jump\" },\n { n: 404, t: \"Sum of Left Leaves\", d: \"Easy\", s: \"sum-of-left-leaves\" },\n { n: 405, t: \"Convert a Number to Hexadecimal\", d: \"Easy\", s: \"convert-a-number-to-hexadecimal\" },\n { n: 406, t: \"Queue Reconstruction by Height\", d: \"Medium\", s: \"queue-reconstruction-by-height\" },\n { n: 407, t: \"Trapping Rain Water II\", d: \"Hard\", s: \"trapping-rain-water-ii\" },\n { n: 408, t: \"Valid Word Abbreviation\", d: \"Easy\", s: \"valid-word-abbreviation\" },\n { n: 409, t: \"Longest Palindrome\", d: \"Easy\", s: \"longest-palindrome\" },\n { n: 410, t: \"Split Array Largest Sum\", d: \"Hard\", s: \"split-array-largest-sum\" },\n { n: 411, t: \"Minimum Unique Word Abbreviation\", d: \"Hard\", s: \"minimum-unique-word-abbreviation\" },\n { n: 412, t: \"Fizz Buzz\", d: \"Easy\", s: \"fizz-buzz\" },\n { n: 413, t: \"Arithmetic Slices\", d: \"Medium\", s: \"arithmetic-slices\" },\n { n: 414, t: \"Third Maximum Number\", d: \"Easy\", s: \"third-maximum-number\" },\n { n: 415, t: \"Add Strings\", d: \"Easy\", s: \"add-strings\" },\n { n: 416, t: \"Partition Equal Subset Sum\", d: \"Medium\", s: \"partition-equal-subset-sum\" },\n { n: 417, t: \"Pacific Atlantic Water Flow\", d: \"Medium\", s: \"pacific-atlantic-water-flow\" },\n { n: 418, t: \"Sentence Screen Fitting\", d: \"Medium\", s: \"sentence-screen-fitting\" },\n { n: 419, t: \"Battleships in a Board\", d: \"Medium\", s: \"battleships-in-a-board\" },\n { n: 420, t: \"Strong Password Checker\", d: \"Hard\", s: \"strong-password-checker\" },\n { n: 421, t: \"Maximum XOR of Two Numbers in an Array\", d: \"Medium\", s: \"maximum-xor-of-two-numbers-in-an-array\" },\n { n: 422, t: \"Valid Word Square\", d: \"Easy\", s: \"valid-word-square\" },\n { n: 423, t: \"Reconstruct Original Digits from English\", d: \"Medium\", s: \"reconstruct-original-digits-from-english\" },\n { n: 424, t: \"Longest Repeating Character Replacement\", d: \"Medium\", s: \"longest-repeating-character-replacement\" },\n { n: 425, t: \"Word Squares\", d: \"Hard\", s: \"word-squares\" },\n { n: 426, t: \"Convert Binary Search Tree to Sorted Doubly Linked List\", d: \"Medium\", s: \"convert-binary-search-tree-to-sorted-doubly-linked-list\" },\n { n: 427, t: \"Construct Quad Tree\", d: \"Medium\", s: \"construct-quad-tree\" },\n { n: 428, t: \"Serialize and Deserialize N-ary Tree\", d: \"Hard\", s: \"serialize-and-deserialize-n-ary-tree\" },\n { n: 429, t: \"N-ary Tree Level Order Traversal\", d: \"Medium\", s: \"n-ary-tree-level-order-traversal\" },\n { n: 430, t: \"Flatten a Multilevel Doubly Linked List\", d: \"Medium\", s: \"flatten-a-multilevel-doubly-linked-list\" },\n { n: 431, t: \"Encode N-ary Tree to Binary Tree\", d: \"Hard\", s: \"encode-n-ary-tree-to-binary-tree\" },\n { n: 432, t: \"All O`one Data Structure\", d: \"Hard\", s: \"all-oone-data-structure\" },\n { n: 433, t: \"Minimum Genetic Mutation\", d: \"Medium\", s: \"minimum-genetic-mutation\" },\n { n: 434, t: \"Number of Segments in a String\", d: \"Easy\", s: \"number-of-segments-in-a-string\" },\n { n: 435, t: \"Non-overlapping Intervals\", d: \"Medium\", s: \"non-overlapping-intervals\" },\n { n: 436, t: \"Find Right Interval\", d: \"Medium\", s: \"find-right-interval\" },\n { n: 437, t: \"Path Sum III\", d: \"Medium\", s: \"path-sum-iii\" },\n { n: 438, t: \"Find All Anagrams in a String\", d: \"Medium\", s: \"find-all-anagrams-in-a-string\" },\n { n: 439, t: \"Ternary Expression Parser\", d: \"Medium\", s: \"ternary-expression-parser\" },\n { n: 440, t: \"K-th Smallest in Lexicographical Order\", d: \"Hard\", s: \"k-th-smallest-in-lexicographical-order\" },\n { n: 441, t: \"Arranging Coins\", d: \"Easy\", s: \"arranging-coins\" },\n { n: 442, t: \"Find All Duplicates in an Array\", d: \"Medium\", s: \"find-all-duplicates-in-an-array\" },\n { n: 443, t: \"String Compression\", d: \"Medium\", s: \"string-compression\" },\n { n: 444, t: \"Sequence Reconstruction\", d: \"Medium\", s: \"sequence-reconstruction\" },\n { n: 445, t: \"Add Two Numbers II\", d: \"Medium\", s: \"add-two-numbers-ii\" },\n { n: 446, t: \"Arithmetic Slices II - Subsequence\", d: \"Hard\", s: \"arithmetic-slices-ii-subsequence\" },\n { n: 447, t: \"Number of Boomerangs\", d: \"Medium\", s: \"number-of-boomerangs\" },\n { n: 448, t: \"Find All Numbers Disappeared in an Array\", d: \"Easy\", s: \"find-all-numbers-disappeared-in-an-array\" },\n { n: 449, t: \"Serialize and Deserialize BST\", d: \"Medium\", s: \"serialize-and-deserialize-bst\" },\n { n: 450, t: \"Delete Node in a BST\", d: \"Medium\", s: \"delete-node-in-a-bst\" },\n { n: 451, t: \"Sort Characters By Frequency\", d: \"Medium\", s: \"sort-characters-by-frequency\" },\n { n: 452, t: \"Minimum Number of Arrows to Burst Balloons\", d: \"Medium\", s: \"minimum-number-of-arrows-to-burst-balloons\" },\n { n: 453, t: \"Minimum Moves to Equal Array Elements\", d: \"Medium\", s: \"minimum-moves-to-equal-array-elements\" },\n { n: 454, t: \"4Sum II\", d: \"Medium\", s: \"4sum-ii\" },\n { n: 455, t: \"Assign Cookies\", d: \"Easy\", s: \"assign-cookies\" },\n { n: 456, t: \"132 Pattern\", d: \"Medium\", s: \"132-pattern\" },\n { n: 457, t: \"Circular Array Loop\", d: \"Medium\", s: \"circular-array-loop\" },\n { n: 458, t: \"Poor Pigs\", d: \"Hard\", s: \"poor-pigs\" },\n { n: 459, t: \"Repeated Substring Pattern\", d: \"Easy\", s: \"repeated-substring-pattern\" },\n { n: 460, t: \"LFU Cache\", d: \"Hard\", s: \"lfu-cache\" },\n { n: 461, t: \"Hamming Distance\", d: \"Easy\", s: \"hamming-distance\" },\n { n: 462, t: \"Minimum Moves to Equal Array Elements II\", d: \"Medium\", s: \"minimum-moves-to-equal-array-elements-ii\" },\n { n: 463, t: \"Island Perimeter\", d: \"Easy\", s: \"island-perimeter\" },\n { n: 464, t: \"Can I Win\", d: \"Medium\", s: \"can-i-win\" },\n { n: 465, t: \"Optimal Account Balancing\", d: \"Hard\", s: \"optimal-account-balancing\" },\n { n: 466, t: \"Count The Repetitions\", d: \"Hard\", s: \"count-the-repetitions\" },\n { n: 467, t: \"Unique Substrings in Wraparound String\", d: \"Medium\", s: \"unique-substrings-in-wraparound-string\" },\n { n: 468, t: \"Validate IP Address\", d: \"Medium\", s: \"validate-ip-address\" },\n { n: 469, t: \"Convex Polygon\", d: \"Medium\", s: \"convex-polygon\" },\n { n: 470, t: \"Implement Rand10() Using Rand7()\", d: \"Medium\", s: \"implement-rand10-using-rand7\" },\n { n: 471, t: \"Encode String with Shortest Length\", d: \"Hard\", s: \"encode-string-with-shortest-length\" },\n { n: 472, t: \"Concatenated Words\", d: \"Hard\", s: \"concatenated-words\" },\n { n: 473, t: \"Matchsticks to Square\", d: \"Medium\", s: \"matchsticks-to-square\" },\n { n: 474, t: \"Ones and Zeroes\", d: \"Medium\", s: \"ones-and-zeroes\" },\n { n: 475, t: \"Heaters\", d: \"Medium\", s: \"heaters\" },\n { n: 476, t: \"Number Complement\", d: \"Easy\", s: \"number-complement\" },\n { n: 477, t: \"Total Hamming Distance\", d: \"Medium\", s: \"total-hamming-distance\" },\n { n: 478, t: \"Generate Random Point in a Circle\", d: \"Medium\", s: \"generate-random-point-in-a-circle\" },\n { n: 479, t: \"Largest Palindrome Product\", d: \"Hard\", s: \"largest-palindrome-product\" },\n { n: 480, t: \"Sliding Window Median\", d: \"Hard\", s: \"sliding-window-median\" },\n { n: 481, t: \"Magical String\", d: \"Medium\", s: \"magical-string\" },\n { n: 482, t: \"License Key Formatting\", d: \"Easy\", s: \"license-key-formatting\" },\n { n: 483, t: \"Smallest Good Base\", d: \"Hard\", s: \"smallest-good-base\" },\n { n: 484, t: \"Find Permutation\", d: \"Medium\", s: \"find-permutation\" },\n { n: 485, t: \"Max Consecutive Ones\", d: \"Easy\", s: \"max-consecutive-ones\" },\n { n: 486, t: \"Predict the Winner\", d: \"Medium\", s: \"predict-the-winner\" },\n { n: 487, t: \"Max Consecutive Ones II\", d: \"Medium\", s: \"max-consecutive-ones-ii\" },\n { n: 488, t: \"Zuma Game\", d: \"Hard\", s: \"zuma-game\" },\n { n: 489, t: \"Robot Room Cleaner\", d: \"Hard\", s: \"robot-room-cleaner\" },\n { n: 490, t: \"The Maze\", d: \"Medium\", s: \"the-maze\" },\n { n: 491, t: \"Non-decreasing Subsequences\", d: \"Medium\", s: \"non-decreasing-subsequences\" },\n { n: 492, t: \"Construct the Rectangle\", d: \"Easy\", s: \"construct-the-rectangle\" },\n { n: 493, t: \"Reverse Pairs\", d: \"Hard\", s: \"reverse-pairs\" },\n { n: 494, t: \"Target Sum\", d: \"Medium\", s: \"target-sum\" },\n { n: 495, t: \"Teemo Attacking\", d: \"Easy\", s: \"teemo-attacking\" },\n { n: 496, t: \"Next Greater Element I\", d: \"Easy\", s: \"next-greater-element-i\" },\n { n: 497, t: \"Random Point in Non-overlapping Rectangles\", d: \"Medium\", s: \"random-point-in-non-overlapping-rectangles\" },\n { n: 498, t: \"Diagonal Traverse\", d: \"Medium\", s: \"diagonal-traverse\" },\n { n: 499, t: \"The Maze III\", d: \"Hard\", s: \"the-maze-iii\" },\n { n: 500, t: \"Keyboard Row\", d: \"Easy\", s: \"keyboard-row\" },\n { n: 501, t: \"Find Mode in Binary Search Tree\", d: \"Easy\", s: \"find-mode-in-binary-search-tree\" },\n { n: 502, t: \"IPO\", d: \"Hard\", s: \"ipo\" },\n { n: 503, t: \"Next Greater Element II\", d: \"Medium\", s: \"next-greater-element-ii\" },\n { n: 504, t: \"Base 7\", d: \"Easy\", s: \"base-7\" },\n { n: 505, t: \"The Maze II\", d: \"Medium\", s: \"the-maze-ii\" },\n { n: 506, t: \"Relative Ranks\", d: \"Easy\", s: \"relative-ranks\" },\n { n: 507, t: \"Perfect Number\", d: \"Easy\", s: \"perfect-number\" },\n { n: 508, t: \"Most Frequent Subtree Sum\", d: \"Medium\", s: \"most-frequent-subtree-sum\" },\n { n: 509, t: \"Fibonacci Number\", d: \"Easy\", s: \"fibonacci-number\" },\n { n: 510, t: \"Inorder Successor in BST II\", d: \"Medium\", s: \"inorder-successor-in-bst-ii\" },\n { n: 511, t: \"Game Play Analysis I\", d: \"Easy\", s: \"game-play-analysis-i\" },\n { n: 512, t: \"Game Play Analysis II\", d: \"Easy\", s: \"game-play-analysis-ii\" },\n { n: 513, t: \"Find Bottom Left Tree Value\", d: \"Medium\", s: \"find-bottom-left-tree-value\" },\n { n: 514, t: \"Freedom Trail\", d: \"Hard\", s: \"freedom-trail\" },\n { n: 515, t: \"Find Largest Value in Each Tree Row\", d: \"Medium\", s: \"find-largest-value-in-each-tree-row\" },\n { n: 516, t: \"Longest Palindromic Subsequence\", d: \"Medium\", s: \"longest-palindromic-subsequence\" },\n { n: 517, t: \"Super Washing Machines\", d: \"Hard\", s: \"super-washing-machines\" },\n { n: 518, t: \"Coin Change II\", d: \"Medium\", s: \"coin-change-ii\" },\n { n: 519, t: \"Random Flip Matrix\", d: \"Medium\", s: \"random-flip-matrix\" },\n { n: 520, t: \"Detect Capital\", d: \"Easy\", s: \"detect-capital\" },\n { n: 521, t: \"Longest Uncommon Subsequence I\", d: \"Easy\", s: \"longest-uncommon-subsequence-i\" },\n { n: 522, t: \"Longest Uncommon Subsequence II\", d: \"Medium\", s: \"longest-uncommon-subsequence-ii\" },\n { n: 523, t: \"Continuous Subarray Sum\", d: \"Medium\", s: \"continuous-subarray-sum\" },\n { n: 524, t: \"Longest Word in Dictionary through Deleting\", d: \"Medium\", s: \"longest-word-in-dictionary-through-deleting\" },\n { n: 525, t: \"Contiguous Array\", d: \"Medium\", s: \"contiguous-array\" },\n { n: 526, t: \"Beautiful Arrangement\", d: \"Medium\", s: \"beautiful-arrangement\" },\n { n: 527, t: \"Word Abbreviation\", d: \"Hard\", s: \"word-abbreviation\" },\n { n: 528, t: \"Random Pick with Weight\", d: \"Medium\", s: \"random-pick-with-weight\" },\n { n: 529, t: \"Minesweeper\", d: \"Medium\", s: \"minesweeper\" },\n { n: 530, t: \"Minimum Absolute Difference in BST\", d: \"Easy\", s: \"minimum-absolute-difference-in-bst\" },\n { n: 531, t: \"Lonely Pixel I\", d: \"Medium\", s: \"lonely-pixel-i\" },\n { n: 532, t: \"K-diff Pairs in an Array\", d: \"Medium\", s: \"k-diff-pairs-in-an-array\" },\n { n: 533, t: \"Lonely Pixel II\", d: \"Medium\", s: \"lonely-pixel-ii\" },\n { n: 534, t: \"Game Play Analysis III\", d: \"Medium\", s: \"game-play-analysis-iii\" },\n { n: 535, t: \"Encode and Decode TinyURL\", d: \"Medium\", s: \"encode-and-decode-tinyurl\" },\n { n: 536, t: \"Construct Binary Tree from String\", d: \"Medium\", s: \"construct-binary-tree-from-string\" },\n { n: 537, t: \"Complex Number Multiplication\", d: \"Medium\", s: \"complex-number-multiplication\" },\n { n: 538, t: \"Convert BST to Greater Tree\", d: \"Medium\", s: \"convert-bst-to-greater-tree\" },\n { n: 539, t: \"Minimum Time Difference\", d: \"Medium\", s: \"minimum-time-difference\" },\n { n: 540, t: \"Single Element in a Sorted Array\", d: \"Medium\", s: \"single-element-in-a-sorted-array\" },\n { n: 541, t: \"Reverse String II\", d: \"Easy\", s: \"reverse-string-ii\" },\n { n: 542, t: \"01 Matrix\", d: \"Medium\", s: \"01-matrix\" },\n { n: 543, t: \"Diameter of Binary Tree\", d: \"Easy\", s: \"diameter-of-binary-tree\" },\n { n: 544, t: \"Output Contest Matches\", d: \"Medium\", s: \"output-contest-matches\" },\n { n: 545, t: \"Boundary of Binary Tree\", d: \"Medium\", s: \"boundary-of-binary-tree\" },\n { n: 546, t: \"Remove Boxes\", d: \"Hard\", s: \"remove-boxes\" },\n { n: 547, t: \"Number of Provinces\", d: \"Medium\", s: \"number-of-provinces\" },\n { n: 548, t: \"Split Array with Equal Sum\", d: \"Hard\", s: \"split-array-with-equal-sum\" },\n { n: 549, t: \"Binary Tree Longest Consecutive Sequence II\", d: \"Medium\", s: \"binary-tree-longest-consecutive-sequence-ii\" },\n { n: 550, t: \"Game Play Analysis IV\", d: \"Medium\", s: \"game-play-analysis-iv\" },\n { n: 551, t: \"Student Attendance Record I\", d: \"Easy\", s: \"student-attendance-record-i\" },\n { n: 552, t: \"Student Attendance Record II\", d: \"Hard\", s: \"student-attendance-record-ii\" },\n { n: 553, t: \"Optimal Division\", d: \"Medium\", s: \"optimal-division\" },\n { n: 554, t: \"Brick Wall\", d: \"Medium\", s: \"brick-wall\" },\n { n: 555, t: \"Split Concatenated Strings\", d: \"Medium\", s: \"split-concatenated-strings\" },\n { n: 556, t: \"Next Greater Element III\", d: \"Medium\", s: \"next-greater-element-iii\" },\n { n: 557, t: \"Reverse Words in a String III\", d: \"Easy\", s: \"reverse-words-in-a-string-iii\" },\n { n: 558, t: \"Logical OR of Two Binary Grids Represented as Quad-Trees\", d: \"Medium\", s: \"logical-or-of-two-binary-grids-represented-as-quad-trees\" },\n { n: 559, t: \"Maximum Depth of N-ary Tree\", d: \"Easy\", s: \"maximum-depth-of-n-ary-tree\" },\n { n: 560, t: \"Subarray Sum Equals K\", d: \"Medium\", s: \"subarray-sum-equals-k\" },\n { n: 561, t: \"Array Partition\", d: \"Easy\", s: \"array-partition\" },\n { n: 562, t: \"Longest Line of Consecutive One in Matrix\", d: \"Medium\", s: \"longest-line-of-consecutive-one-in-matrix\" },\n { n: 563, t: \"Binary Tree Tilt\", d: \"Easy\", s: \"binary-tree-tilt\" },\n { n: 564, t: \"Find the Closest Palindrome\", d: \"Hard\", s: \"find-the-closest-palindrome\" },\n { n: 565, t: \"Array Nesting\", d: \"Medium\", s: \"array-nesting\" },\n { n: 566, t: \"Reshape the Matrix\", d: \"Easy\", s: \"reshape-the-matrix\" },\n { n: 567, t: \"Permutation in String\", d: \"Medium\", s: \"permutation-in-string\" },\n { n: 568, t: \"Maximum Vacation Days\", d: \"Hard\", s: \"maximum-vacation-days\" },\n { n: 569, t: \"Median Employee Salary\", d: \"Hard\", s: \"median-employee-salary\" },\n { n: 570, t: \"Managers with at Least 5 Direct Reports\", d: \"Medium\", s: \"managers-with-at-least-5-direct-reports\" },\n { n: 571, t: \"Find Median Given Frequency of Numbers\", d: \"Hard\", s: \"find-median-given-frequency-of-numbers\" },\n { n: 572, t: \"Subtree of Another Tree\", d: \"Easy\", s: \"subtree-of-another-tree\" },\n { n: 573, t: \"Squirrel Simulation\", d: \"Medium\", s: \"squirrel-simulation\" },\n { n: 574, t: \"Winning Candidate\", d: \"Medium\", s: \"winning-candidate\" },\n { n: 575, t: \"Distribute Candies\", d: \"Easy\", s: \"distribute-candies\" },\n { n: 576, t: \"Out of Boundary Paths\", d: \"Medium\", s: \"out-of-boundary-paths\" },\n { n: 577, t: \"Employee Bonus\", d: \"Easy\", s: \"employee-bonus\" },\n { n: 578, t: \"Get Highest Answer Rate Question\", d: \"Medium\", s: \"get-highest-answer-rate-question\" },\n { n: 579, t: \"Find Cumulative Salary of an Employee\", d: \"Hard\", s: \"find-cumulative-salary-of-an-employee\" },\n { n: 580, t: \"Count Student Number in Departments\", d: \"Medium\", s: \"count-student-number-in-departments\" },\n { n: 581, t: \"Shortest Unsorted Continuous Subarray\", d: \"Medium\", s: \"shortest-unsorted-continuous-subarray\" },\n { n: 582, t: \"Kill Process\", d: \"Medium\", s: \"kill-process\" },\n { n: 583, t: \"Delete Operation for Two Strings\", d: \"Medium\", s: \"delete-operation-for-two-strings\" },\n { n: 584, t: \"Find Customer Referee\", d: \"Easy\", s: \"find-customer-referee\" },\n { n: 585, t: \"Investments in 2016\", d: \"Medium\", s: \"investments-in-2016\" },\n { n: 586, t: \"Customer Placing the Largest Number of Orders\", d: \"Easy\", s: \"customer-placing-the-largest-number-of-orders\" },\n { n: 587, t: \"Erect the Fence\", d: \"Hard\", s: \"erect-the-fence\" },\n { n: 588, t: \"Design In-Memory File System\", d: \"Hard\", s: \"design-in-memory-file-system\" },\n { n: 589, t: \"N-ary Tree Preorder Traversal\", d: \"Easy\", s: \"n-ary-tree-preorder-traversal\" },\n { n: 590, t: \"N-ary Tree Postorder Traversal\", d: \"Easy\", s: \"n-ary-tree-postorder-traversal\" },\n { n: 591, t: \"Tag Validator\", d: \"Hard\", s: \"tag-validator\" },\n { n: 592, t: \"Fraction Addition and Subtraction\", d: \"Medium\", s: \"fraction-addition-and-subtraction\" },\n { n: 593, t: \"Valid Square\", d: \"Medium\", s: \"valid-square\" },\n { n: 594, t: \"Longest Harmonious Subsequence\", d: \"Easy\", s: \"longest-harmonious-subsequence\" },\n { n: 595, t: \"Big Countries\", d: \"Easy\", s: \"big-countries\" },\n { n: 596, t: \"Classes With at Least 5 Students\", d: \"Easy\", s: \"classes-with-at-least-5-students\" },\n { n: 597, t: \"Friend Requests I: Overall Acceptance Rate\", d: \"Easy\", s: \"friend-requests-i-overall-acceptance-rate\" },\n { n: 598, t: \"Range Addition II\", d: \"Easy\", s: \"range-addition-ii\" },\n { n: 599, t: \"Minimum Index Sum of Two Lists\", d: \"Easy\", s: \"minimum-index-sum-of-two-lists\" },\n { n: 600, t: \"Non-negative Integers without Consecutive Ones\", d: \"Hard\", s: \"non-negative-integers-without-consecutive-ones\" },\n { n: 601, t: \"Human Traffic of Stadium\", d: \"Hard\", s: \"human-traffic-of-stadium\" },\n { n: 602, t: \"Friend Requests II: Who Has the Most Friends\", d: \"Medium\", s: \"friend-requests-ii-who-has-the-most-friends\" },\n { n: 603, t: \"Consecutive Available Seats\", d: \"Easy\", s: \"consecutive-available-seats\" },\n { n: 604, t: \"Design Compressed String Iterator\", d: \"Easy\", s: \"design-compressed-string-iterator\" },\n { n: 605, t: \"Can Place Flowers\", d: \"Easy\", s: \"can-place-flowers\" },\n { n: 606, t: \"Construct String from Binary Tree\", d: \"Medium\", s: \"construct-string-from-binary-tree\" },\n { n: 607, t: \"Sales Person\", d: \"Easy\", s: \"sales-person\" },\n { n: 608, t: \"Tree Node\", d: \"Medium\", s: \"tree-node\" },\n { n: 609, t: \"Find Duplicate File in System\", d: \"Medium\", s: \"find-duplicate-file-in-system\" },\n { n: 610, t: \"Triangle Judgement\", d: \"Easy\", s: \"triangle-judgement\" },\n { n: 611, t: \"Valid Triangle Number\", d: \"Medium\", s: \"valid-triangle-number\" },\n { n: 612, t: \"Shortest Distance in a Plane\", d: \"Medium\", s: \"shortest-distance-in-a-plane\" },\n { n: 613, t: \"Shortest Distance in a Line\", d: \"Easy\", s: \"shortest-distance-in-a-line\" },\n { n: 614, t: \"Second Degree Follower\", d: \"Medium\", s: \"second-degree-follower\" },\n { n: 615, t: \"Average Salary: Departments VS Company\", d: \"Hard\", s: \"average-salary-departments-vs-company\" },\n { n: 616, t: \"Add Bold Tag in String\", d: \"Medium\", s: \"add-bold-tag-in-string\" },\n { n: 617, t: \"Merge Two Binary Trees\", d: \"Easy\", s: \"merge-two-binary-trees\" },\n { n: 618, t: \"Students Report By Geography\", d: \"Hard\", s: \"students-report-by-geography\" },\n { n: 619, t: \"Biggest Single Number\", d: \"Easy\", s: \"biggest-single-number\" },\n { n: 620, t: \"Not Boring Movies\", d: \"Easy\", s: \"not-boring-movies\" },\n { n: 621, t: \"Task Scheduler\", d: \"Medium\", s: \"task-scheduler\" },\n { n: 622, t: \"Design Circular Queue\", d: \"Medium\", s: \"design-circular-queue\" },\n { n: 623, t: \"Add One Row to Tree\", d: \"Medium\", s: \"add-one-row-to-tree\" },\n { n: 624, t: \"Maximum Distance in Arrays\", d: \"Medium\", s: \"maximum-distance-in-arrays\" },\n { n: 625, t: \"Minimum Factorization\", d: \"Medium\", s: \"minimum-factorization\" },\n { n: 626, t: \"Exchange Seats\", d: \"Medium\", s: \"exchange-seats\" },\n { n: 627, t: \"Swap Sex of Employees\", d: \"Easy\", s: \"swap-sex-of-employees\" },\n { n: 628, t: \"Maximum Product of Three Numbers\", d: \"Easy\", s: \"maximum-product-of-three-numbers\" },\n { n: 629, t: \"K Inverse Pairs Array\", d: \"Hard\", s: \"k-inverse-pairs-array\" },\n { n: 630, t: \"Course Schedule III\", d: \"Hard\", s: \"course-schedule-iii\" },\n { n: 631, t: \"Design Excel Sum Formula\", d: \"Hard\", s: \"design-excel-sum-formula\" },\n { n: 632, t: \"Smallest Range Covering Elements from K Lists\", d: \"Hard\", s: \"smallest-range-covering-elements-from-k-lists\" },\n { n: 633, t: \"Sum of Square Numbers\", d: \"Medium\", s: \"sum-of-square-numbers\" },\n { n: 634, t: \"Find the Derangement of An Array\", d: \"Medium\", s: \"find-the-derangement-of-an-array\" },\n { n: 635, t: \"Design Log Storage System\", d: \"Medium\", s: \"design-log-storage-system\" },\n { n: 636, t: \"Exclusive Time of Functions\", d: \"Medium\", s: \"exclusive-time-of-functions\" },\n { n: 637, t: \"Average of Levels in Binary Tree\", d: \"Easy\", s: \"average-of-levels-in-binary-tree\" },\n { n: 638, t: \"Shopping Offers\", d: \"Medium\", s: \"shopping-offers\" },\n { n: 639, t: \"Decode Ways II\", d: \"Hard\", s: \"decode-ways-ii\" },\n { n: 640, t: \"Solve the Equation\", d: \"Medium\", s: \"solve-the-equation\" },\n { n: 641, t: \"Design Circular Deque\", d: \"Medium\", s: \"design-circular-deque\" },\n { n: 642, t: \"Design Search Autocomplete System\", d: \"Hard\", s: \"design-search-autocomplete-system\" },\n { n: 643, t: \"Maximum Average Subarray I\", d: \"Easy\", s: \"maximum-average-subarray-i\" },\n { n: 644, t: \"Maximum Average Subarray II\", d: \"Hard\", s: \"maximum-average-subarray-ii\" },\n { n: 645, t: \"Set Mismatch\", d: \"Easy\", s: \"set-mismatch\" },\n { n: 646, t: \"Maximum Length of Pair Chain\", d: \"Medium\", s: \"maximum-length-of-pair-chain\" },\n { n: 647, t: \"Palindromic Substrings\", d: \"Medium\", s: \"palindromic-substrings\" },\n { n: 648, t: \"Replace Words\", d: \"Medium\", s: \"replace-words\" },\n { n: 649, t: \"Dota2 Senate\", d: \"Medium\", s: \"dota2-senate\" },\n { n: 650, t: \"2 Keys Keyboard\", d: \"Medium\", s: \"2-keys-keyboard\" },\n { n: 651, t: \"4 Keys Keyboard\", d: \"Medium\", s: \"4-keys-keyboard\" },\n { n: 652, t: \"Find Duplicate Subtrees\", d: \"Medium\", s: \"find-duplicate-subtrees\" },\n { n: 653, t: \"Two Sum IV - Input is a BST\", d: \"Easy\", s: \"two-sum-iv-input-is-a-bst\" },\n { n: 654, t: \"Maximum Binary Tree\", d: \"Medium\", s: \"maximum-binary-tree\" },\n { n: 655, t: \"Print Binary Tree\", d: \"Medium\", s: \"print-binary-tree\" },\n { n: 656, t: \"Coin Path\", d: \"Hard\", s: \"coin-path\" },\n { n: 657, t: \"Robot Return to Origin\", d: \"Easy\", s: \"robot-return-to-origin\" },\n { n: 658, t: \"Find K Closest Elements\", d: \"Medium\", s: \"find-k-closest-elements\" },\n { n: 659, t: \"Split Array into Consecutive Subsequences\", d: \"Medium\", s: \"split-array-into-consecutive-subsequences\" },\n { n: 660, t: \"Remove 9\", d: \"Hard\", s: \"remove-9\" },\n { n: 661, t: \"Image Smoother\", d: \"Easy\", s: \"image-smoother\" },\n { n: 662, t: \"Maximum Width of Binary Tree\", d: \"Medium\", s: \"maximum-width-of-binary-tree\" },\n { n: 663, t: \"Equal Tree Partition\", d: \"Medium\", s: \"equal-tree-partition\" },\n { n: 664, t: \"Strange Printer\", d: \"Hard\", s: \"strange-printer\" },\n { n: 665, t: \"Non-decreasing Array\", d: \"Medium\", s: \"non-decreasing-array\" },\n { n: 666, t: \"Path Sum IV\", d: \"Medium\", s: \"path-sum-iv\" },\n { n: 667, t: \"Beautiful Arrangement II\", d: \"Medium\", s: \"beautiful-arrangement-ii\" },\n { n: 668, t: \"Kth Smallest Number in Multiplication Table\", d: \"Hard\", s: \"kth-smallest-number-in-multiplication-table\" },\n { n: 669, t: \"Trim a Binary Search Tree\", d: \"Medium\", s: \"trim-a-binary-search-tree\" },\n { n: 670, t: \"Maximum Swap\", d: \"Medium\", s: \"maximum-swap\" },\n { n: 671, t: \"Second Minimum Node In a Binary Tree\", d: \"Easy\", s: \"second-minimum-node-in-a-binary-tree\" },\n { n: 672, t: \"Bulb Switcher II\", d: \"Medium\", s: \"bulb-switcher-ii\" },\n { n: 673, t: \"Number of Longest Increasing Subsequence\", d: \"Medium\", s: \"number-of-longest-increasing-subsequence\" },\n { n: 674, t: \"Longest Continuous Increasing Subsequence\", d: \"Easy\", s: \"longest-continuous-increasing-subsequence\" },\n { n: 675, t: \"Cut Off Trees for Golf Event\", d: \"Hard\", s: \"cut-off-trees-for-golf-event\" },\n { n: 676, t: \"Implement Magic Dictionary\", d: \"Medium\", s: \"implement-magic-dictionary\" },\n { n: 677, t: \"Map Sum Pairs\", d: \"Medium\", s: \"map-sum-pairs\" },\n { n: 678, t: \"Valid Parenthesis String\", d: \"Medium\", s: \"valid-parenthesis-string\" },\n { n: 679, t: \"24 Game\", d: \"Hard\", s: \"24-game\" },\n { n: 680, t: \"Valid Palindrome II\", d: \"Easy\", s: \"valid-palindrome-ii\" },\n { n: 681, t: \"Next Closest Time\", d: \"Medium\", s: \"next-closest-time\" },\n { n: 682, t: \"Baseball Game\", d: \"Easy\", s: \"baseball-game\" },\n { n: 683, t: \"K Empty Slots\", d: \"Hard\", s: \"k-empty-slots\" },\n { n: 684, t: \"Redundant Connection\", d: \"Medium\", s: \"redundant-connection\" },\n { n: 685, t: \"Redundant Connection II\", d: \"Hard\", s: \"redundant-connection-ii\" },\n { n: 686, t: \"Repeated String Match\", d: \"Medium\", s: \"repeated-string-match\" },\n { n: 687, t: \"Longest Univalue Path\", d: \"Medium\", s: \"longest-univalue-path\" },\n { n: 688, t: \"Knight Probability in Chessboard\", d: \"Medium\", s: \"knight-probability-in-chessboard\" },\n { n: 689, t: \"Maximum Sum of 3 Non-Overlapping Subarrays\", d: \"Hard\", s: \"maximum-sum-of-3-non-overlapping-subarrays\" },\n { n: 690, t: \"Employee Importance\", d: \"Medium\", s: \"employee-importance\" },\n { n: 691, t: \"Stickers to Spell Word\", d: \"Hard\", s: \"stickers-to-spell-word\" },\n { n: 692, t: \"Top K Frequent Words\", d: \"Medium\", s: \"top-k-frequent-words\" },\n { n: 693, t: \"Binary Number with Alternating Bits\", d: \"Easy\", s: \"binary-number-with-alternating-bits\" },\n { n: 694, t: \"Number of Distinct Islands\", d: \"Medium\", s: \"number-of-distinct-islands\" },\n { n: 695, t: \"Max Area of Island\", d: \"Medium\", s: \"max-area-of-island\" },\n { n: 696, t: \"Count Binary Substrings\", d: \"Easy\", s: \"count-binary-substrings\" },\n { n: 697, t: \"Degree of an Array\", d: \"Easy\", s: \"degree-of-an-array\" },\n { n: 698, t: \"Partition to K Equal Sum Subsets\", d: \"Medium\", s: \"partition-to-k-equal-sum-subsets\" },\n { n: 699, t: \"Falling Squares\", d: \"Hard\", s: \"falling-squares\" },\n { n: 700, t: \"Search in a Binary Search Tree\", d: \"Easy\", s: \"search-in-a-binary-search-tree\" },\n { n: 701, t: \"Insert into a Binary Search Tree\", d: \"Medium\", s: \"insert-into-a-binary-search-tree\" },\n { n: 702, t: \"Search in a Sorted Array of Unknown Size\", d: \"Medium\", s: \"search-in-a-sorted-array-of-unknown-size\" },\n { n: 703, t: \"Kth Largest Element in a Stream\", d: \"Easy\", s: \"kth-largest-element-in-a-stream\" },\n { n: 704, t: \"Binary Search\", d: \"Easy\", s: \"binary-search\" },\n { n: 705, t: \"Design HashSet\", d: \"Easy\", s: \"design-hashset\" },\n { n: 706, t: \"Design HashMap\", d: \"Easy\", s: \"design-hashmap\" },\n { n: 707, t: \"Design Linked List\", d: \"Medium\", s: \"design-linked-list\" },\n { n: 708, t: \"Insert into a Sorted Circular Linked List\", d: \"Medium\", s: \"insert-into-a-sorted-circular-linked-list\" },\n { n: 709, t: \"To Lower Case\", d: \"Easy\", s: \"to-lower-case\" },\n { n: 710, t: \"Random Pick with Blacklist\", d: \"Hard\", s: \"random-pick-with-blacklist\" },\n { n: 711, t: \"Number of Distinct Islands II\", d: \"Hard\", s: \"number-of-distinct-islands-ii\" },\n { n: 712, t: \"Minimum ASCII Delete Sum for Two Strings\", d: \"Medium\", s: \"minimum-ascii-delete-sum-for-two-strings\" },\n { n: 713, t: \"Subarray Product Less Than K\", d: \"Medium\", s: \"subarray-product-less-than-k\" },\n { n: 714, t: \"Best Time to Buy and Sell Stock with Transaction Fee\", d: \"Medium\", s: \"best-time-to-buy-and-sell-stock-with-transaction-fee\" },\n { n: 715, t: \"Range Module\", d: \"Hard\", s: \"range-module\" },\n { n: 716, t: \"Max Stack\", d: \"Hard\", s: \"max-stack\" },\n { n: 717, t: \"1-bit and 2-bit Characters\", d: \"Easy\", s: \"1-bit-and-2-bit-characters\" },\n { n: 718, t: \"Maximum Length of Repeated Subarray\", d: \"Medium\", s: \"maximum-length-of-repeated-subarray\" },\n { n: 719, t: \"Find K-th Smallest Pair Distance\", d: \"Hard\", s: \"find-k-th-smallest-pair-distance\" },\n { n: 720, t: \"Longest Word in Dictionary\", d: \"Medium\", s: \"longest-word-in-dictionary\" },\n { n: 721, t: \"Accounts Merge\", d: \"Medium\", s: \"accounts-merge\" },\n { n: 722, t: \"Remove Comments\", d: \"Medium\", s: \"remove-comments\" },\n { n: 723, t: \"Candy Crush\", d: \"Medium\", s: \"candy-crush\" },\n { n: 724, t: \"Find Pivot Index\", d: \"Easy\", s: \"find-pivot-index\" },\n { n: 725, t: \"Split Linked List in Parts\", d: \"Medium\", s: \"split-linked-list-in-parts\" },\n { n: 726, t: \"Number of Atoms\", d: \"Hard\", s: \"number-of-atoms\" },\n { n: 727, t: \"Minimum Window Subsequence\", d: \"Hard\", s: \"minimum-window-subsequence\" },\n { n: 728, t: \"Self Dividing Numbers\", d: \"Easy\", s: \"self-dividing-numbers\" },\n { n: 729, t: \"My Calendar I\", d: \"Medium\", s: \"my-calendar-i\" },\n { n: 730, t: \"Count Different Palindromic Subsequences\", d: \"Hard\", s: \"count-different-palindromic-subsequences\" },\n { n: 731, t: \"My Calendar II\", d: \"Medium\", s: \"my-calendar-ii\" },\n { n: 732, t: \"My Calendar III\", d: \"Hard\", s: \"my-calendar-iii\" },\n { n: 733, t: \"Flood Fill\", d: \"Easy\", s: \"flood-fill\" },\n { n: 734, t: \"Sentence Similarity\", d: \"Easy\", s: \"sentence-similarity\" },\n { n: 735, t: \"Asteroid Collision\", d: \"Medium\", s: \"asteroid-collision\" },\n { n: 736, t: \"Parse Lisp Expression\", d: \"Hard\", s: \"parse-lisp-expression\" },\n { n: 737, t: \"Sentence Similarity II\", d: \"Medium\", s: \"sentence-similarity-ii\" },\n { n: 738, t: \"Monotone Increasing Digits\", d: \"Medium\", s: \"monotone-increasing-digits\" },\n { n: 739, t: \"Daily Temperatures\", d: \"Medium\", s: \"daily-temperatures\" },\n { n: 740, t: \"Delete and Earn\", d: \"Medium\", s: \"delete-and-earn\" },\n { n: 741, t: \"Cherry Pickup\", d: \"Hard\", s: \"cherry-pickup\" },\n { n: 742, t: \"Closest Leaf in a Binary Tree\", d: \"Medium\", s: \"closest-leaf-in-a-binary-tree\" },\n { n: 743, t: \"Network Delay Time\", d: \"Medium\", s: \"network-delay-time\" },\n { n: 744, t: \"Find Smallest Letter Greater Than Target\", d: \"Easy\", s: \"find-smallest-letter-greater-than-target\" },\n { n: 745, t: \"Prefix and Suffix Search\", d: \"Hard\", s: \"prefix-and-suffix-search\" },\n { n: 746, t: \"Min Cost Climbing Stairs\", d: \"Easy\", s: \"min-cost-climbing-stairs\" },\n { n: 747, t: \"Largest Number At Least Twice of Others\", d: \"Easy\", s: \"largest-number-at-least-twice-of-others\" },\n { n: 748, t: \"Shortest Completing Word\", d: \"Easy\", s: \"shortest-completing-word\" },\n { n: 749, t: \"Contain Virus\", d: \"Hard\", s: \"contain-virus\" },\n { n: 750, t: \"Number Of Corner Rectangles\", d: \"Medium\", s: \"number-of-corner-rectangles\" },\n { n: 751, t: \"IP to CIDR\", d: \"Medium\", s: \"ip-to-cidr\" },\n { n: 752, t: \"Open the Lock\", d: \"Medium\", s: \"open-the-lock\" },\n { n: 753, t: \"Cracking the Safe\", d: \"Hard\", s: \"cracking-the-safe\" },\n { n: 754, t: \"Reach a Number\", d: \"Medium\", s: \"reach-a-number\" },\n { n: 755, t: \"Pour Water\", d: \"Medium\", s: \"pour-water\" },\n { n: 756, t: \"Pyramid Transition Matrix\", d: \"Medium\", s: \"pyramid-transition-matrix\" },\n { n: 757, t: \"Set Intersection Size At Least Two\", d: \"Hard\", s: \"set-intersection-size-at-least-two\" },\n { n: 758, t: \"Bold Words in String\", d: \"Medium\", s: \"bold-words-in-string\" },\n { n: 759, t: \"Employee Free Time\", d: \"Hard\", s: \"employee-free-time\" },\n { n: 760, t: \"Find Anagram Mappings\", d: \"Easy\", s: \"find-anagram-mappings\" },\n { n: 761, t: \"Special Binary String\", d: \"Hard\", s: \"special-binary-string\" },\n { n: 762, t: \"Prime Number of Set Bits in Binary Representation\", d: \"Easy\", s: \"prime-number-of-set-bits-in-binary-representation\" },\n { n: 763, t: \"Partition Labels\", d: \"Medium\", s: \"partition-labels\" },\n { n: 764, t: \"Largest Plus Sign\", d: \"Medium\", s: \"largest-plus-sign\" },\n { n: 765, t: \"Couples Holding Hands\", d: \"Hard\", s: \"couples-holding-hands\" },\n { n: 766, t: \"Toeplitz Matrix\", d: \"Easy\", s: \"toeplitz-matrix\" },\n { n: 767, t: \"Reorganize String\", d: \"Medium\", s: \"reorganize-string\" },\n { n: 768, t: \"Max Chunks To Make Sorted II\", d: \"Hard\", s: \"max-chunks-to-make-sorted-ii\" },\n { n: 769, t: \"Max Chunks To Make Sorted\", d: \"Medium\", s: \"max-chunks-to-make-sorted\" },\n { n: 770, t: \"Basic Calculator IV\", d: \"Hard\", s: \"basic-calculator-iv\" },\n { n: 771, t: \"Jewels and Stones\", d: \"Easy\", s: \"jewels-and-stones\" },\n { n: 772, t: \"Basic Calculator III\", d: \"Hard\", s: \"basic-calculator-iii\" },\n { n: 773, t: \"Sliding Puzzle\", d: \"Hard\", s: \"sliding-puzzle\" },\n { n: 774, t: \"Minimize Max Distance to Gas Station\", d: \"Hard\", s: \"minimize-max-distance-to-gas-station\" },\n { n: 775, t: \"Global and Local Inversions\", d: \"Medium\", s: \"global-and-local-inversions\" },\n { n: 776, t: \"Split BST\", d: \"Medium\", s: \"split-bst\" },\n { n: 777, t: \"Swap Adjacent in LR String\", d: \"Medium\", s: \"swap-adjacent-in-lr-string\" },\n { n: 778, t: \"Swim in Rising Water\", d: \"Hard\", s: \"swim-in-rising-water\" },\n { n: 779, t: \"K-th Symbol in Grammar\", d: \"Medium\", s: \"k-th-symbol-in-grammar\" },\n { n: 780, t: \"Reaching Points\", d: \"Hard\", s: \"reaching-points\" },\n { n: 781, t: \"Rabbits in Forest\", d: \"Medium\", s: \"rabbits-in-forest\" },\n { n: 782, t: \"Transform to Chessboard\", d: \"Hard\", s: \"transform-to-chessboard\" },\n { n: 783, t: \"Minimum Distance Between BST Nodes\", d: \"Easy\", s: \"minimum-distance-between-bst-nodes\" },\n { n: 784, t: \"Letter Case Permutation\", d: \"Medium\", s: \"letter-case-permutation\" },\n { n: 785, t: \"Is Graph Bipartite?\", d: \"Medium\", s: \"is-graph-bipartite\" },\n { n: 786, t: \"K-th Smallest Prime Fraction\", d: \"Medium\", s: \"k-th-smallest-prime-fraction\" },\n { n: 787, t: \"Cheapest Flights Within K Stops\", d: \"Medium\", s: \"cheapest-flights-within-k-stops\" },\n { n: 788, t: \"Rotated Digits\", d: \"Medium\", s: \"rotated-digits\" },\n { n: 789, t: \"Escape The Ghosts\", d: \"Medium\", s: \"escape-the-ghosts\" },\n { n: 790, t: \"Domino and Tromino Tiling\", d: \"Medium\", s: \"domino-and-tromino-tiling\" },\n { n: 791, t: \"Custom Sort String\", d: \"Medium\", s: \"custom-sort-string\" },\n { n: 792, t: \"Number of Matching Subsequences\", d: \"Medium\", s: \"number-of-matching-subsequences\" },\n { n: 793, t: \"Preimage Size of Factorial Zeroes Function\", d: \"Hard\", s: \"preimage-size-of-factorial-zeroes-function\" },\n { n: 794, t: \"Valid Tic-Tac-Toe State\", d: \"Medium\", s: \"valid-tic-tac-toe-state\" },\n { n: 795, t: \"Number of Subarrays with Bounded Maximum\", d: \"Medium\", s: \"number-of-subarrays-with-bounded-maximum\" },\n { n: 796, t: \"Rotate String\", d: \"Easy\", s: \"rotate-string\" },\n { n: 797, t: \"All Paths From Source to Target\", d: \"Medium\", s: \"all-paths-from-source-to-target\" },\n { n: 798, t: \"Smallest Rotation with Highest Score\", d: \"Hard\", s: \"smallest-rotation-with-highest-score\" },\n { n: 799, t: \"Champagne Tower\", d: \"Medium\", s: \"champagne-tower\" },\n { n: 800, t: \"Similar RGB Color\", d: \"Easy\", s: \"similar-rgb-color\" },\n { n: 801, t: \"Minimum Swaps To Make Sequences Increasing\", d: \"Hard\", s: \"minimum-swaps-to-make-sequences-increasing\" },\n { n: 802, t: \"Find Eventual Safe States\", d: \"Medium\", s: \"find-eventual-safe-states\" },\n { n: 803, t: \"Bricks Falling When Hit\", d: \"Hard\", s: \"bricks-falling-when-hit\" },\n { n: 804, t: \"Unique Morse Code Words\", d: \"Easy\", s: \"unique-morse-code-words\" },\n { n: 805, t: \"Split Array With Same Average\", d: \"Hard\", s: \"split-array-with-same-average\" },\n { n: 806, t: \"Number of Lines To Write String\", d: \"Easy\", s: \"number-of-lines-to-write-string\" },\n { n: 807, t: \"Max Increase to Keep City Skyline\", d: \"Medium\", s: \"max-increase-to-keep-city-skyline\" },\n { n: 808, t: \"Soup Servings\", d: \"Medium\", s: \"soup-servings\" },\n { n: 809, t: \"Expressive Words\", d: \"Medium\", s: \"expressive-words\" },\n { n: 810, t: \"Chalkboard XOR Game\", d: \"Hard\", s: \"chalkboard-xor-game\" },\n { n: 811, t: \"Subdomain Visit Count\", d: \"Medium\", s: \"subdomain-visit-count\" },\n { n: 812, t: \"Largest Triangle Area\", d: \"Easy\", s: \"largest-triangle-area\" },\n { n: 813, t: \"Largest Sum of Averages\", d: \"Medium\", s: \"largest-sum-of-averages\" },\n { n: 814, t: \"Binary Tree Pruning\", d: \"Medium\", s: \"binary-tree-pruning\" },\n { n: 815, t: \"Bus Routes\", d: \"Hard\", s: \"bus-routes\" },\n { n: 816, t: \"Ambiguous Coordinates\", d: \"Medium\", s: \"ambiguous-coordinates\" },\n { n: 817, t: \"Linked List Components\", d: \"Medium\", s: \"linked-list-components\" },\n { n: 818, t: \"Race Car\", d: \"Hard\", s: \"race-car\" },\n { n: 819, t: \"Most Common Word\", d: \"Easy\", s: \"most-common-word\" },\n { n: 820, t: \"Short Encoding of Words\", d: \"Medium\", s: \"short-encoding-of-words\" },\n { n: 821, t: \"Shortest Distance to a Character\", d: \"Easy\", s: \"shortest-distance-to-a-character\" },\n { n: 822, t: \"Card Flipping Game\", d: \"Medium\", s: \"card-flipping-game\" },\n { n: 823, t: \"Binary Trees With Factors\", d: \"Medium\", s: \"binary-trees-with-factors\" },\n { n: 824, t: \"Goat Latin\", d: \"Easy\", s: \"goat-latin\" },\n { n: 825, t: \"Friends Of Appropriate Ages\", d: \"Medium\", s: \"friends-of-appropriate-ages\" },\n { n: 826, t: \"Most Profit Assigning Work\", d: \"Medium\", s: \"most-profit-assigning-work\" },\n { n: 827, t: \"Making A Large Island\", d: \"Hard\", s: \"making-a-large-island\" },\n { n: 828, t: \"Count Unique Characters of All Substrings of a Given String\", d: \"Hard\", s: \"count-unique-characters-of-all-substrings-of-a-given-string\" },\n { n: 829, t: \"Consecutive Numbers Sum\", d: \"Hard\", s: \"consecutive-numbers-sum\" },\n { n: 830, t: \"Positions of Large Groups\", d: \"Easy\", s: \"positions-of-large-groups\" },\n { n: 831, t: \"Masking Personal Information\", d: \"Medium\", s: \"masking-personal-information\" },\n { n: 832, t: \"Flipping an Image\", d: \"Easy\", s: \"flipping-an-image\" },\n { n: 833, t: \"Find And Replace in String\", d: \"Medium\", s: \"find-and-replace-in-string\" },\n { n: 834, t: \"Sum of Distances in Tree\", d: \"Hard\", s: \"sum-of-distances-in-tree\" },\n { n: 835, t: \"Image Overlap\", d: \"Medium\", s: \"image-overlap\" },\n { n: 836, t: \"Rectangle Overlap\", d: \"Easy\", s: \"rectangle-overlap\" },\n { n: 837, t: \"New 21 Game\", d: \"Medium\", s: \"new-21-game\" },\n { n: 838, t: \"Push Dominoes\", d: \"Medium\", s: \"push-dominoes\" },\n { n: 839, t: \"Similar String Groups\", d: \"Hard\", s: \"similar-string-groups\" },\n { n: 840, t: \"Magic Squares In Grid\", d: \"Medium\", s: \"magic-squares-in-grid\" },\n { n: 841, t: \"Keys and Rooms\", d: \"Medium\", s: \"keys-and-rooms\" },\n { n: 842, t: \"Split Array into Fibonacci Sequence\", d: \"Medium\", s: \"split-array-into-fibonacci-sequence\" },\n { n: 843, t: \"Guess the Word\", d: \"Hard\", s: \"guess-the-word\" },\n { n: 844, t: \"Backspace String Compare\", d: \"Easy\", s: \"backspace-string-compare\" },\n { n: 845, t: \"Longest Mountain in Array\", d: \"Medium\", s: \"longest-mountain-in-array\" },\n { n: 846, t: \"Hand of Straights\", d: \"Medium\", s: \"hand-of-straights\" },\n { n: 847, t: \"Shortest Path Visiting All Nodes\", d: \"Hard\", s: \"shortest-path-visiting-all-nodes\" },\n { n: 848, t: \"Shifting Letters\", d: \"Medium\", s: \"shifting-letters\" },\n { n: 849, t: \"Maximize Distance to Closest Person\", d: \"Medium\", s: \"maximize-distance-to-closest-person\" },\n { n: 850, t: \"Rectangle Area II\", d: \"Hard\", s: \"rectangle-area-ii\" },\n { n: 851, t: \"Loud and Rich\", d: \"Medium\", s: \"loud-and-rich\" },\n { n: 852, t: \"Peak Index in a Mountain Array\", d: \"Medium\", s: \"peak-index-in-a-mountain-array\" },\n { n: 853, t: \"Car Fleet\", d: \"Medium\", s: \"car-fleet\" },\n { n: 854, t: \"K-Similar Strings\", d: \"Hard\", s: \"k-similar-strings\" },\n { n: 855, t: \"Exam Room\", d: \"Medium\", s: \"exam-room\" },\n { n: 856, t: \"Score of Parentheses\", d: \"Medium\", s: \"score-of-parentheses\" },\n { n: 857, t: \"Minimum Cost to Hire K Workers\", d: \"Hard\", s: \"minimum-cost-to-hire-k-workers\" },\n { n: 858, t: \"Mirror Reflection\", d: \"Medium\", s: \"mirror-reflection\" },\n { n: 859, t: \"Buddy Strings\", d: \"Easy\", s: \"buddy-strings\" },\n { n: 860, t: \"Lemonade Change\", d: \"Easy\", s: \"lemonade-change\" },\n { n: 861, t: \"Score After Flipping Matrix\", d: \"Medium\", s: \"score-after-flipping-matrix\" },\n { n: 862, t: \"Shortest Subarray with Sum at Least K\", d: \"Hard\", s: \"shortest-subarray-with-sum-at-least-k\" },\n { n: 863, t: \"All Nodes Distance K in Binary Tree\", d: \"Medium\", s: \"all-nodes-distance-k-in-binary-tree\" },\n { n: 864, t: \"Shortest Path to Get All Keys\", d: \"Hard\", s: \"shortest-path-to-get-all-keys\" },\n { n: 865, t: \"Smallest Subtree with all the Deepest Nodes\", d: \"Medium\", s: \"smallest-subtree-with-all-the-deepest-nodes\" },\n { n: 866, t: \"Prime Palindrome\", d: \"Medium\", s: \"prime-palindrome\" },\n { n: 867, t: \"Transpose Matrix\", d: \"Easy\", s: \"transpose-matrix\" },\n { n: 868, t: \"Binary Gap\", d: \"Easy\", s: \"binary-gap\" },\n { n: 869, t: \"Reordered Power of 2\", d: \"Medium\", s: \"reordered-power-of-2\" },\n { n: 870, t: \"Advantage Shuffle\", d: \"Medium\", s: \"advantage-shuffle\" },\n { n: 871, t: \"Minimum Number of Refueling Stops\", d: \"Hard\", s: \"minimum-number-of-refueling-stops\" },\n { n: 872, t: \"Leaf-Similar Trees\", d: \"Easy\", s: \"leaf-similar-trees\" },\n { n: 873, t: \"Length of Longest Fibonacci Subsequence\", d: \"Medium\", s: \"length-of-longest-fibonacci-subsequence\" },\n { n: 874, t: \"Walking Robot Simulation\", d: \"Medium\", s: \"walking-robot-simulation\" },\n { n: 875, t: \"Koko Eating Bananas\", d: \"Medium\", s: \"koko-eating-bananas\" },\n { n: 876, t: \"Middle of the Linked List\", d: \"Easy\", s: \"middle-of-the-linked-list\" },\n { n: 877, t: \"Stone Game\", d: \"Medium\", s: \"stone-game\" },\n { n: 878, t: \"Nth Magical Number\", d: \"Hard\", s: \"nth-magical-number\" },\n { n: 879, t: \"Profitable Schemes\", d: \"Hard\", s: \"profitable-schemes\" },\n { n: 880, t: \"Decoded String at Index\", d: \"Medium\", s: \"decoded-string-at-index\" },\n { n: 881, t: \"Boats to Save People\", d: \"Medium\", s: \"boats-to-save-people\" },\n { n: 882, t: \"Reachable Nodes In Subdivided Graph\", d: \"Hard\", s: \"reachable-nodes-in-subdivided-graph\" },\n { n: 883, t: \"Projection Area of 3D Shapes\", d: \"Easy\", s: \"projection-area-of-3d-shapes\" },\n { n: 884, t: \"Uncommon Words from Two Sentences\", d: \"Easy\", s: \"uncommon-words-from-two-sentences\" },\n { n: 885, t: \"Spiral Matrix III\", d: \"Medium\", s: \"spiral-matrix-iii\" },\n { n: 886, t: \"Possible Bipartition\", d: \"Medium\", s: \"possible-bipartition\" },\n { n: 887, t: \"Super Egg Drop\", d: \"Hard\", s: \"super-egg-drop\" },\n { n: 888, t: \"Fair Candy Swap\", d: \"Easy\", s: \"fair-candy-swap\" },\n { n: 889, t: \"Construct Binary Tree from Preorder and Postorder Traversal\", d: \"Medium\", s: \"construct-binary-tree-from-preorder-and-postorder-traversal\" },\n { n: 890, t: \"Find and Replace Pattern\", d: \"Medium\", s: \"find-and-replace-pattern\" },\n { n: 891, t: \"Sum of Subsequence Widths\", d: \"Hard\", s: \"sum-of-subsequence-widths\" },\n { n: 892, t: \"Surface Area of 3D Shapes\", d: \"Easy\", s: \"surface-area-of-3d-shapes\" },\n { n: 893, t: \"Groups of Special-Equivalent Strings\", d: \"Medium\", s: \"groups-of-special-equivalent-strings\" },\n { n: 894, t: \"All Possible Full Binary Trees\", d: \"Medium\", s: \"all-possible-full-binary-trees\" },\n { n: 895, t: \"Maximum Frequency Stack\", d: \"Hard\", s: \"maximum-frequency-stack\" },\n { n: 896, t: \"Monotonic Array\", d: \"Easy\", s: \"monotonic-array\" },\n { n: 897, t: \"Increasing Order Search Tree\", d: \"Easy\", s: \"increasing-order-search-tree\" },\n { n: 898, t: \"Bitwise ORs of Subarrays\", d: \"Medium\", s: \"bitwise-ors-of-subarrays\" },\n { n: 899, t: \"Orderly Queue\", d: \"Hard\", s: \"orderly-queue\" },\n { n: 900, t: \"RLE Iterator\", d: \"Medium\", s: \"rle-iterator\" },\n { n: 901, t: \"Online Stock Span\", d: \"Medium\", s: \"online-stock-span\" },\n { n: 902, t: \"Numbers At Most N Given Digit Set\", d: \"Hard\", s: \"numbers-at-most-n-given-digit-set\" },\n { n: 903, t: \"Valid Permutations for DI Sequence\", d: \"Hard\", s: \"valid-permutations-for-di-sequence\" },\n { n: 904, t: \"Fruit Into Baskets\", d: \"Medium\", s: \"fruit-into-baskets\" },\n { n: 905, t: \"Sort Array By Parity\", d: \"Easy\", s: \"sort-array-by-parity\" },\n { n: 906, t: \"Super Palindromes\", d: \"Hard\", s: \"super-palindromes\" },\n { n: 907, t: \"Sum of Subarray Minimums\", d: \"Medium\", s: \"sum-of-subarray-minimums\" },\n { n: 908, t: \"Smallest Range I\", d: \"Easy\", s: \"smallest-range-i\" },\n { n: 909, t: \"Snakes and Ladders\", d: \"Medium\", s: \"snakes-and-ladders\" },\n { n: 910, t: \"Smallest Range II\", d: \"Medium\", s: \"smallest-range-ii\" },\n { n: 911, t: \"Online Election\", d: \"Medium\", s: \"online-election\" },\n { n: 912, t: \"Sort an Array\", d: \"Medium\", s: \"sort-an-array\" },\n { n: 913, t: \"Cat and Mouse\", d: \"Hard\", s: \"cat-and-mouse\" },\n { n: 914, t: \"X of a Kind in a Deck of Cards\", d: \"Easy\", s: \"x-of-a-kind-in-a-deck-of-cards\" },\n { n: 915, t: \"Partition Array into Disjoint Intervals\", d: \"Medium\", s: \"partition-array-into-disjoint-intervals\" },\n { n: 916, t: \"Word Subsets\", d: \"Medium\", s: \"word-subsets\" },\n { n: 917, t: \"Reverse Only Letters\", d: \"Easy\", s: \"reverse-only-letters\" },\n { n: 918, t: \"Maximum Sum Circular Subarray\", d: \"Medium\", s: \"maximum-sum-circular-subarray\" },\n { n: 919, t: \"Complete Binary Tree Inserter\", d: \"Medium\", s: \"complete-binary-tree-inserter\" },\n { n: 920, t: \"Number of Music Playlists\", d: \"Hard\", s: \"number-of-music-playlists\" },\n { n: 921, t: \"Minimum Add to Make Parentheses Valid\", d: \"Medium\", s: \"minimum-add-to-make-parentheses-valid\" },\n { n: 922, t: \"Sort Array By Parity II\", d: \"Easy\", s: \"sort-array-by-parity-ii\" },\n { n: 923, t: \"3Sum With Multiplicity\", d: \"Medium\", s: \"3sum-with-multiplicity\" },\n { n: 924, t: \"Minimize Malware Spread\", d: \"Hard\", s: \"minimize-malware-spread\" },\n { n: 925, t: \"Long Pressed Name\", d: \"Easy\", s: \"long-pressed-name\" },\n { n: 926, t: \"Flip String to Monotone Increasing\", d: \"Medium\", s: \"flip-string-to-monotone-increasing\" },\n { n: 927, t: \"Three Equal Parts\", d: \"Hard\", s: \"three-equal-parts\" },\n { n: 928, t: \"Minimize Malware Spread II\", d: \"Hard\", s: \"minimize-malware-spread-ii\" },\n { n: 929, t: \"Unique Email Addresses\", d: \"Easy\", s: \"unique-email-addresses\" },\n { n: 930, t: \"Binary Subarrays With Sum\", d: \"Medium\", s: \"binary-subarrays-with-sum\" },\n { n: 931, t: \"Minimum Falling Path Sum\", d: \"Medium\", s: \"minimum-falling-path-sum\" },\n { n: 932, t: \"Beautiful Array\", d: \"Medium\", s: \"beautiful-array\" },\n { n: 933, t: \"Number of Recent Calls\", d: \"Easy\", s: \"number-of-recent-calls\" },\n { n: 934, t: \"Shortest Bridge\", d: \"Medium\", s: \"shortest-bridge\" },\n { n: 935, t: \"Knight Dialer\", d: \"Medium\", s: \"knight-dialer\" },\n { n: 936, t: \"Stamping The Sequence\", d: \"Hard\", s: \"stamping-the-sequence\" },\n { n: 937, t: \"Reorder Data in Log Files\", d: \"Medium\", s: \"reorder-data-in-log-files\" },\n { n: 938, t: \"Range Sum of BST\", d: \"Easy\", s: \"range-sum-of-bst\" },\n { n: 939, t: \"Minimum Area Rectangle\", d: \"Medium\", s: \"minimum-area-rectangle\" },\n { n: 940, t: \"Distinct Subsequences II\", d: \"Hard\", s: \"distinct-subsequences-ii\" },\n { n: 941, t: \"Valid Mountain Array\", d: \"Easy\", s: \"valid-mountain-array\" },\n { n: 942, t: \"DI String Match\", d: \"Easy\", s: \"di-string-match\" },\n { n: 943, t: \"Find the Shortest Superstring\", d: \"Hard\", s: \"find-the-shortest-superstring\" },\n { n: 944, t: \"Delete Columns to Make Sorted\", d: \"Easy\", s: \"delete-columns-to-make-sorted\" },\n { n: 945, t: \"Minimum Increment to Make Array Unique\", d: \"Medium\", s: \"minimum-increment-to-make-array-unique\" },\n { n: 946, t: \"Validate Stack Sequences\", d: \"Medium\", s: \"validate-stack-sequences\" },\n { n: 947, t: \"Most Stones Removed with Same Row or Column\", d: \"Medium\", s: \"most-stones-removed-with-same-row-or-column\" },\n { n: 948, t: \"Bag of Tokens\", d: \"Medium\", s: \"bag-of-tokens\" },\n { n: 949, t: \"Largest Time for Given Digits\", d: \"Medium\", s: \"largest-time-for-given-digits\" },\n { n: 950, t: \"Reveal Cards In Increasing Order\", d: \"Medium\", s: \"reveal-cards-in-increasing-order\" },\n { n: 951, t: \"Flip Equivalent Binary Trees\", d: \"Medium\", s: \"flip-equivalent-binary-trees\" },\n { n: 952, t: \"Largest Component Size by Common Factor\", d: \"Hard\", s: \"largest-component-size-by-common-factor\" },\n { n: 953, t: \"Verifying an Alien Dictionary\", d: \"Easy\", s: \"verifying-an-alien-dictionary\" },\n { n: 954, t: \"Array of Doubled Pairs\", d: \"Medium\", s: \"array-of-doubled-pairs\" },\n { n: 955, t: \"Delete Columns to Make Sorted II\", d: \"Medium\", s: \"delete-columns-to-make-sorted-ii\" },\n { n: 956, t: \"Tallest Billboard\", d: \"Hard\", s: \"tallest-billboard\" },\n { n: 957, t: \"Prison Cells After N Days\", d: \"Medium\", s: \"prison-cells-after-n-days\" },\n { n: 958, t: \"Check Completeness of a Binary Tree\", d: \"Medium\", s: \"check-completeness-of-a-binary-tree\" },\n { n: 959, t: \"Regions Cut By Slashes\", d: \"Medium\", s: \"regions-cut-by-slashes\" },\n { n: 960, t: \"Delete Columns to Make Sorted III\", d: \"Hard\", s: \"delete-columns-to-make-sorted-iii\" },\n { n: 961, t: \"N-Repeated Element in Size 2N Array\", d: \"Easy\", s: \"n-repeated-element-in-size-2n-array\" },\n { n: 962, t: \"Maximum Width Ramp\", d: \"Medium\", s: \"maximum-width-ramp\" },\n { n: 963, t: \"Minimum Area Rectangle II\", d: \"Medium\", s: \"minimum-area-rectangle-ii\" },\n { n: 964, t: \"Least Operators to Express Number\", d: \"Hard\", s: \"least-operators-to-express-number\" },\n { n: 965, t: \"Univalued Binary Tree\", d: \"Easy\", s: \"univalued-binary-tree\" },\n { n: 966, t: \"Vowel Spellchecker\", d: \"Medium\", s: \"vowel-spellchecker\" },\n { n: 967, t: \"Numbers With Same Consecutive Differences\", d: \"Medium\", s: \"numbers-with-same-consecutive-differences\" },\n { n: 968, t: \"Binary Tree Cameras\", d: \"Hard\", s: \"binary-tree-cameras\" },\n { n: 969, t: \"Pancake Sorting\", d: \"Medium\", s: \"pancake-sorting\" },\n { n: 970, t: \"Powerful Integers\", d: \"Medium\", s: \"powerful-integers\" },\n { n: 971, t: \"Flip Binary Tree To Match Preorder Traversal\", d: \"Medium\", s: \"flip-binary-tree-to-match-preorder-traversal\" },\n { n: 972, t: \"Equal Rational Numbers\", d: \"Hard\", s: \"equal-rational-numbers\" },\n { n: 973, t: \"K Closest Points to Origin\", d: \"Medium\", s: \"k-closest-points-to-origin\" },\n { n: 974, t: \"Subarray Sums Divisible by K\", d: \"Medium\", s: \"subarray-sums-divisible-by-k\" },\n { n: 975, t: \"Odd Even Jump\", d: \"Hard\", s: \"odd-even-jump\" },\n { n: 976, t: \"Largest Perimeter Triangle\", d: \"Easy\", s: \"largest-perimeter-triangle\" },\n { n: 977, t: \"Squares of a Sorted Array\", d: \"Easy\", s: \"squares-of-a-sorted-array\" },\n { n: 978, t: \"Longest Turbulent Subarray\", d: \"Medium\", s: \"longest-turbulent-subarray\" },\n { n: 979, t: \"Distribute Coins in Binary Tree\", d: \"Medium\", s: \"distribute-coins-in-binary-tree\" },\n { n: 980, t: \"Unique Paths III\", d: \"Hard\", s: \"unique-paths-iii\" },\n { n: 981, t: \"Time Based Key-Value Store\", d: \"Medium\", s: \"time-based-key-value-store\" },\n { n: 982, t: \"Triples with Bitwise AND Equal To Zero\", d: \"Hard\", s: \"triples-with-bitwise-and-equal-to-zero\" },\n { n: 983, t: \"Minimum Cost For Tickets\", d: \"Medium\", s: \"minimum-cost-for-tickets\" },\n { n: 984, t: \"String Without AAA or BBB\", d: \"Medium\", s: \"string-without-aaa-or-bbb\" },\n { n: 985, t: \"Sum of Even Numbers After Queries\", d: \"Medium\", s: \"sum-of-even-numbers-after-queries\" },\n { n: 986, t: \"Interval List Intersections\", d: \"Medium\", s: \"interval-list-intersections\" },\n { n: 987, t: \"Vertical Order Traversal of a Binary Tree\", d: \"Hard\", s: \"vertical-order-traversal-of-a-binary-tree\" },\n { n: 988, t: \"Smallest String Starting From Leaf\", d: \"Medium\", s: \"smallest-string-starting-from-leaf\" },\n { n: 989, t: \"Add to Array-Form of Integer\", d: \"Easy\", s: \"add-to-array-form-of-integer\" },\n { n: 990, t: \"Satisfiability of Equality Equations\", d: \"Medium\", s: \"satisfiability-of-equality-equations\" },\n { n: 991, t: \"Broken Calculator\", d: \"Medium\", s: \"broken-calculator\" },\n { n: 992, t: \"Subarrays with K Different Integers\", d: \"Hard\", s: \"subarrays-with-k-different-integers\" },\n { n: 993, t: \"Cousins in Binary Tree\", d: \"Easy\", s: \"cousins-in-binary-tree\" },\n { n: 994, t: \"Rotting Oranges\", d: \"Medium\", s: \"rotting-oranges\" },\n { n: 995, t: \"Minimum Number of K Consecutive Bit Flips\", d: \"Hard\", s: \"minimum-number-of-k-consecutive-bit-flips\" },\n { n: 996, t: \"Number of Squareful Arrays\", d: \"Hard\", s: \"number-of-squareful-arrays\" },\n { n: 997, t: \"Find the Town Judge\", d: \"Easy\", s: \"find-the-town-judge\" },\n { n: 998, t: \"Maximum Binary Tree II\", d: \"Medium\", s: \"maximum-binary-tree-ii\" },\n { n: 999, t: \"Available Captures for Rook\", d: \"Easy\", s: \"available-captures-for-rook\" },\n { n: 1000, t: \"Minimum Cost to Merge Stones\", d: \"Hard\", s: \"minimum-cost-to-merge-stones\" },\n { n: 1001, t: \"Grid Illumination\", d: \"Hard\", s: \"grid-illumination\" },\n { n: 1002, t: \"Find Common Characters\", d: \"Easy\", s: \"find-common-characters\" },\n { n: 1003, t: \"Check If Word Is Valid After Substitutions\", d: \"Medium\", s: \"check-if-word-is-valid-after-substitutions\" },\n { n: 1004, t: \"Max Consecutive Ones III\", d: \"Medium\", s: \"max-consecutive-ones-iii\" },\n { n: 1005, t: \"Maximize Sum Of Array After K Negations\", d: \"Easy\", s: \"maximize-sum-of-array-after-k-negations\" },\n { n: 1006, t: \"Clumsy Factorial\", d: \"Medium\", s: \"clumsy-factorial\" },\n { n: 1007, t: \"Minimum Domino Rotations For Equal Row\", d: \"Medium\", s: \"minimum-domino-rotations-for-equal-row\" },\n { n: 1008, t: \"Construct Binary Search Tree from Preorder Traversal\", d: \"Medium\", s: \"construct-binary-search-tree-from-preorder-traversal\" },\n { n: 1009, t: \"Complement of Base 10 Integer\", d: \"Easy\", s: \"complement-of-base-10-integer\" },\n { n: 1010, t: \"Pairs of Songs With Total Durations Divisible by 60\", d: \"Medium\", s: \"pairs-of-songs-with-total-durations-divisible-by-60\" },\n { n: 1011, t: \"Capacity To Ship Packages Within D Days\", d: \"Medium\", s: \"capacity-to-ship-packages-within-d-days\" },\n { n: 1012, t: \"Numbers With Repeated Digits\", d: \"Hard\", s: \"numbers-with-repeated-digits\" },\n { n: 1013, t: \"Partition Array Into Three Parts With Equal Sum\", d: \"Easy\", s: \"partition-array-into-three-parts-with-equal-sum\" },\n { n: 1014, t: \"Best Sightseeing Pair\", d: \"Medium\", s: \"best-sightseeing-pair\" },\n { n: 1015, t: \"Smallest Integer Divisible by K\", d: \"Medium\", s: \"smallest-integer-divisible-by-k\" },\n { n: 1016, t: \"Binary String With Substrings Representing 1 To N\", d: \"Medium\", s: \"binary-string-with-substrings-representing-1-to-n\" },\n { n: 1017, t: \"Convert to Base -2\", d: \"Medium\", s: \"convert-to-base-2\" },\n { n: 1018, t: \"Binary Prefix Divisible By 5\", d: \"Easy\", s: \"binary-prefix-divisible-by-5\" },\n { n: 1019, t: \"Next Greater Node In Linked List\", d: \"Medium\", s: \"next-greater-node-in-linked-list\" },\n { n: 1020, t: \"Number of Enclaves\", d: \"Medium\", s: \"number-of-enclaves\" },\n { n: 1021, t: \"Remove Outermost Parentheses\", d: \"Easy\", s: \"remove-outermost-parentheses\" },\n { n: 1022, t: \"Sum of Root To Leaf Binary Numbers\", d: \"Easy\", s: \"sum-of-root-to-leaf-binary-numbers\" },\n { n: 1023, t: \"Camelcase Matching\", d: \"Medium\", s: \"camelcase-matching\" },\n { n: 1024, t: \"Video Stitching\", d: \"Medium\", s: \"video-stitching\" },\n { n: 1025, t: \"Divisor Game\", d: \"Easy\", s: \"divisor-game\" },\n { n: 1026, t: \"Maximum Difference Between Node and Ancestor\", d: \"Medium\", s: \"maximum-difference-between-node-and-ancestor\" },\n { n: 1027, t: \"Longest Arithmetic Subsequence\", d: \"Medium\", s: \"longest-arithmetic-subsequence\" },\n { n: 1028, t: \"Recover a Tree From Preorder Traversal\", d: \"Hard\", s: \"recover-a-tree-from-preorder-traversal\" },\n { n: 1029, t: \"Two City Scheduling\", d: \"Medium\", s: \"two-city-scheduling\" },\n { n: 1030, t: \"Matrix Cells in Distance Order\", d: \"Easy\", s: \"matrix-cells-in-distance-order\" },\n { n: 1031, t: \"Maximum Sum of Two Non-Overlapping Subarrays\", d: \"Medium\", s: \"maximum-sum-of-two-non-overlapping-subarrays\" },\n { n: 1032, t: \"Stream of Characters\", d: \"Hard\", s: \"stream-of-characters\" },\n { n: 1033, t: \"Moving Stones Until Consecutive\", d: \"Medium\", s: \"moving-stones-until-consecutive\" },\n { n: 1034, t: \"Coloring A Border\", d: \"Medium\", s: \"coloring-a-border\" },\n { n: 1035, t: \"Uncrossed Lines\", d: \"Medium\", s: \"uncrossed-lines\" },\n { n: 1036, t: \"Escape a Large Maze\", d: \"Hard\", s: \"escape-a-large-maze\" },\n { n: 1037, t: \"Valid Boomerang\", d: \"Easy\", s: \"valid-boomerang\" },\n { n: 1038, t: \"Binary Search Tree to Greater Sum Tree\", d: \"Medium\", s: \"binary-search-tree-to-greater-sum-tree\" },\n { n: 1039, t: \"Minimum Score Triangulation of Polygon\", d: \"Medium\", s: \"minimum-score-triangulation-of-polygon\" },\n { n: 1040, t: \"Moving Stones Until Consecutive II\", d: \"Medium\", s: \"moving-stones-until-consecutive-ii\" },\n { n: 1041, t: \"Robot Bounded In Circle\", d: \"Medium\", s: \"robot-bounded-in-circle\" },\n { n: 1042, t: \"Flower Planting With No Adjacent\", d: \"Medium\", s: \"flower-planting-with-no-adjacent\" },\n { n: 1043, t: \"Partition Array for Maximum Sum\", d: \"Medium\", s: \"partition-array-for-maximum-sum\" },\n { n: 1044, t: \"Longest Duplicate Substring\", d: \"Hard\", s: \"longest-duplicate-substring\" },\n { n: 1045, t: \"Customers Who Bought All Products\", d: \"Medium\", s: \"customers-who-bought-all-products\" },\n { n: 1046, t: \"Last Stone Weight\", d: \"Easy\", s: \"last-stone-weight\" },\n { n: 1047, t: \"Remove All Adjacent Duplicates In String\", d: \"Easy\", s: \"remove-all-adjacent-duplicates-in-string\" },\n { n: 1048, t: \"Longest String Chain\", d: \"Medium\", s: \"longest-string-chain\" },\n { n: 1049, t: \"Last Stone Weight II\", d: \"Medium\", s: \"last-stone-weight-ii\" },\n { n: 1050, t: \"Actors and Directors Who Cooperated At Least Three Times\", d: \"Easy\", s: \"actors-and-directors-who-cooperated-at-least-three-times\" },\n { n: 1051, t: \"Height Checker\", d: \"Easy\", s: \"height-checker\" },\n { n: 1052, t: \"Grumpy Bookstore Owner\", d: \"Medium\", s: \"grumpy-bookstore-owner\" },\n { n: 1053, t: \"Previous Permutation With One Swap\", d: \"Medium\", s: \"previous-permutation-with-one-swap\" },\n { n: 1054, t: \"Distant Barcodes\", d: \"Medium\", s: \"distant-barcodes\" },\n { n: 1055, t: \"Shortest Way to Form String\", d: \"Medium\", s: \"shortest-way-to-form-string\" },\n { n: 1056, t: \"Confusing Number\", d: \"Easy\", s: \"confusing-number\" },\n { n: 1057, t: \"Campus Bikes\", d: \"Medium\", s: \"campus-bikes\" },\n { n: 1058, t: \"Minimize Rounding Error to Meet Target\", d: \"Medium\", s: \"minimize-rounding-error-to-meet-target\" },\n { n: 1059, t: \"All Paths from Source Lead to Destination\", d: \"Medium\", s: \"all-paths-from-source-lead-to-destination\" },\n { n: 1060, t: \"Missing Element in Sorted Array\", d: \"Medium\", s: \"missing-element-in-sorted-array\" },\n { n: 1061, t: \"Lexicographically Smallest Equivalent String\", d: \"Medium\", s: \"lexicographically-smallest-equivalent-string\" },\n { n: 1062, t: \"Longest Repeating Substring\", d: \"Medium\", s: \"longest-repeating-substring\" },\n { n: 1063, t: \"Number of Valid Subarrays\", d: \"Hard\", s: \"number-of-valid-subarrays\" },\n { n: 1064, t: \"Fixed Point\", d: \"Easy\", s: \"fixed-point\" },\n { n: 1065, t: \"Index Pairs of a String\", d: \"Easy\", s: \"index-pairs-of-a-string\" },\n { n: 1066, t: \"Campus Bikes II\", d: \"Medium\", s: \"campus-bikes-ii\" },\n { n: 1067, t: \"Digit Count in Range\", d: \"Hard\", s: \"digit-count-in-range\" },\n { n: 1068, t: \"Product Sales Analysis I\", d: \"Easy\", s: \"product-sales-analysis-i\" },\n { n: 1069, t: \"Product Sales Analysis II\", d: \"Easy\", s: \"product-sales-analysis-ii\" },\n { n: 1070, t: \"Product Sales Analysis III\", d: \"Medium\", s: \"product-sales-analysis-iii\" },\n { n: 1071, t: \"Greatest Common Divisor of Strings\", d: \"Easy\", s: \"greatest-common-divisor-of-strings\" },\n { n: 1072, t: \"Flip Columns For Maximum Number of Equal Rows\", d: \"Medium\", s: \"flip-columns-for-maximum-number-of-equal-rows\" },\n { n: 1073, t: \"Adding Two Negabinary Numbers\", d: \"Medium\", s: \"adding-two-negabinary-numbers\" },\n { n: 1074, t: \"Number of Submatrices That Sum to Target\", d: \"Hard\", s: \"number-of-submatrices-that-sum-to-target\" },\n { n: 1075, t: \"Project Employees I\", d: \"Easy\", s: \"project-employees-i\" },\n { n: 1076, t: \"Project Employees II\", d: \"Easy\", s: \"project-employees-ii\" },\n { n: 1077, t: \"Project Employees III\", d: \"Medium\", s: \"project-employees-iii\" },\n { n: 1078, t: \"Occurrences After Bigram\", d: \"Easy\", s: \"occurrences-after-bigram\" },\n { n: 1079, t: \"Letter Tile Possibilities\", d: \"Medium\", s: \"letter-tile-possibilities\" },\n { n: 1080, t: \"Insufficient Nodes in Root to Leaf Paths\", d: \"Medium\", s: \"insufficient-nodes-in-root-to-leaf-paths\" },\n { n: 1081, t: \"Smallest Subsequence of Distinct Characters\", d: \"Medium\", s: \"smallest-subsequence-of-distinct-characters\" },\n { n: 1082, t: \"Sales Analysis I\", d: \"Easy\", s: \"sales-analysis-i\" },\n { n: 1083, t: \"Sales Analysis II\", d: \"Easy\", s: \"sales-analysis-ii\" },\n { n: 1084, t: \"Sales Analysis III\", d: \"Easy\", s: \"sales-analysis-iii\" },\n { n: 1085, t: \"Sum of Digits in the Minimum Number\", d: \"Easy\", s: \"sum-of-digits-in-the-minimum-number\" },\n { n: 1086, t: \"High Five\", d: \"Easy\", s: \"high-five\" },\n { n: 1087, t: \"Brace Expansion\", d: \"Medium\", s: \"brace-expansion\" },\n { n: 1088, t: \"Confusing Number II\", d: \"Hard\", s: \"confusing-number-ii\" },\n { n: 1089, t: \"Duplicate Zeros\", d: \"Easy\", s: \"duplicate-zeros\" },\n { n: 1090, t: \"Largest Values From Labels\", d: \"Medium\", s: \"largest-values-from-labels\" },\n { n: 1091, t: \"Shortest Path in Binary Matrix\", d: \"Medium\", s: \"shortest-path-in-binary-matrix\" },\n { n: 1092, t: \"Shortest Common Supersequence\", d: \"Hard\", s: \"shortest-common-supersequence\" },\n { n: 1093, t: \"Statistics from a Large Sample\", d: \"Medium\", s: \"statistics-from-a-large-sample\" },\n { n: 1094, t: \"Car Pooling\", d: \"Medium\", s: \"car-pooling\" },\n { n: 1095, t: \"Find in Mountain Array\", d: \"Hard\", s: \"find-in-mountain-array\" },\n { n: 1096, t: \"Brace Expansion II\", d: \"Hard\", s: \"brace-expansion-ii\" },\n { n: 1097, t: \"Game Play Analysis V\", d: \"Hard\", s: \"game-play-analysis-v\" },\n { n: 1098, t: \"Unpopular Books\", d: \"Medium\", s: \"unpopular-books\" },\n { n: 1099, t: \"Two Sum Less Than K\", d: \"Easy\", s: \"two-sum-less-than-k\" },\n { n: 1100, t: \"Find K-Length Substrings With No Repeated Characters\", d: \"Medium\", s: \"find-k-length-substrings-with-no-repeated-characters\" },\n { n: 1101, t: \"The Earliest Moment When Everyone Become Friends\", d: \"Medium\", s: \"the-earliest-moment-when-everyone-become-friends\" },\n { n: 1102, t: \"Path With Maximum Minimum Value\", d: \"Medium\", s: \"path-with-maximum-minimum-value\" },\n { n: 1103, t: \"Distribute Candies to People\", d: \"Easy\", s: \"distribute-candies-to-people\" },\n { n: 1104, t: \"Path In Zigzag Labelled Binary Tree\", d: \"Medium\", s: \"path-in-zigzag-labelled-binary-tree\" },\n { n: 1105, t: \"Filling Bookcase Shelves\", d: \"Medium\", s: \"filling-bookcase-shelves\" },\n { n: 1106, t: \"Parsing A Boolean Expression\", d: \"Hard\", s: \"parsing-a-boolean-expression\" },\n { n: 1107, t: \"New Users Daily Count\", d: \"Medium\", s: \"new-users-daily-count\" },\n { n: 1108, t: \"Defanging an IP Address\", d: \"Easy\", s: \"defanging-an-ip-address\" },\n { n: 1109, t: \"Corporate Flight Bookings\", d: \"Medium\", s: \"corporate-flight-bookings\" },\n { n: 1110, t: \"Delete Nodes And Return Forest\", d: \"Medium\", s: \"delete-nodes-and-return-forest\" },\n { n: 1111, t: \"Maximum Nesting Depth of Two Valid Parentheses Strings\", d: \"Medium\", s: \"maximum-nesting-depth-of-two-valid-parentheses-strings\" },\n { n: 1112, t: \"Highest Grade For Each Student\", d: \"Medium\", s: \"highest-grade-for-each-student\" },\n { n: 1113, t: \"Reported Posts\", d: \"Easy\", s: \"reported-posts\" },\n { n: 1114, t: \"Print in Order\", d: \"Easy\", s: \"print-in-order\" },\n { n: 1115, t: \"Print FooBar Alternately\", d: \"Medium\", s: \"print-foobar-alternately\" },\n { n: 1116, t: \"Print Zero Even Odd\", d: \"Medium\", s: \"print-zero-even-odd\" },\n { n: 1117, t: \"Building H2O\", d: \"Medium\", s: \"building-h2o\" },\n { n: 1118, t: \"Number of Days in a Month\", d: \"Easy\", s: \"number-of-days-in-a-month\" },\n { n: 1119, t: \"Remove Vowels from a String\", d: \"Easy\", s: \"remove-vowels-from-a-string\" },\n { n: 1120, t: \"Maximum Average Subtree\", d: \"Medium\", s: \"maximum-average-subtree\" },\n { n: 1121, t: \"Divide Array Into Increasing Sequences\", d: \"Hard\", s: \"divide-array-into-increasing-sequences\" },\n { n: 1122, t: \"Relative Sort Array\", d: \"Easy\", s: \"relative-sort-array\" },\n { n: 1123, t: \"Lowest Common Ancestor of Deepest Leaves\", d: \"Medium\", s: \"lowest-common-ancestor-of-deepest-leaves\" },\n { n: 1124, t: \"Longest Well-Performing Interval\", d: \"Medium\", s: \"longest-well-performing-interval\" },\n { n: 1125, t: \"Smallest Sufficient Team\", d: \"Hard\", s: \"smallest-sufficient-team\" },\n { n: 1126, t: \"Active Businesses\", d: \"Medium\", s: \"active-businesses\" },\n { n: 1127, t: \"User Purchase Platform\", d: \"Hard\", s: \"user-purchase-platform\" },\n { n: 1128, t: \"Number of Equivalent Domino Pairs\", d: \"Easy\", s: \"number-of-equivalent-domino-pairs\" },\n { n: 1129, t: \"Shortest Path with Alternating Colors\", d: \"Medium\", s: \"shortest-path-with-alternating-colors\" },\n { n: 1130, t: \"Minimum Cost Tree From Leaf Values\", d: \"Medium\", s: \"minimum-cost-tree-from-leaf-values\" },\n { n: 1131, t: \"Maximum of Absolute Value Expression\", d: \"Medium\", s: \"maximum-of-absolute-value-expression\" },\n { n: 1132, t: \"Reported Posts II\", d: \"Medium\", s: \"reported-posts-ii\" },\n { n: 1133, t: \"Largest Unique Number\", d: \"Easy\", s: \"largest-unique-number\" },\n { n: 1134, t: \"Armstrong Number\", d: \"Easy\", s: \"armstrong-number\" },\n { n: 1135, t: \"Connecting Cities With Minimum Cost\", d: \"Medium\", s: \"connecting-cities-with-minimum-cost\" },\n { n: 1136, t: \"Parallel Courses\", d: \"Medium\", s: \"parallel-courses\" },\n { n: 1137, t: \"N-th Tribonacci Number\", d: \"Easy\", s: \"n-th-tribonacci-number\" },\n { n: 1138, t: \"Alphabet Board Path\", d: \"Medium\", s: \"alphabet-board-path\" },\n { n: 1139, t: \"Largest 1-Bordered Square\", d: \"Medium\", s: \"largest-1-bordered-square\" },\n { n: 1140, t: \"Stone Game II\", d: \"Medium\", s: \"stone-game-ii\" },\n { n: 1141, t: \"User Activity for the Past 30 Days I\", d: \"Easy\", s: \"user-activity-for-the-past-30-days-i\" },\n { n: 1142, t: \"User Activity for the Past 30 Days II\", d: \"Easy\", s: \"user-activity-for-the-past-30-days-ii\" },\n { n: 1143, t: \"Longest Common Subsequence\", d: \"Medium\", s: \"longest-common-subsequence\" },\n { n: 1144, t: \"Decrease Elements To Make Array Zigzag\", d: \"Medium\", s: \"decrease-elements-to-make-array-zigzag\" },\n { n: 1145, t: \"Binary Tree Coloring Game\", d: \"Medium\", s: \"binary-tree-coloring-game\" },\n { n: 1146, t: \"Snapshot Array\", d: \"Medium\", s: \"snapshot-array\" },\n { n: 1147, t: \"Longest Chunked Palindrome Decomposition\", d: \"Hard\", s: \"longest-chunked-palindrome-decomposition\" },\n { n: 1148, t: \"Article Views I\", d: \"Easy\", s: \"article-views-i\" },\n { n: 1149, t: \"Article Views II\", d: \"Medium\", s: \"article-views-ii\" },\n { n: 1150, t: \"Check If a Number Is Majority Element in a Sorted Array\", d: \"Easy\", s: \"check-if-a-number-is-majority-element-in-a-sorted-array\" },\n { n: 1151, t: \"Minimum Swaps to Group All 1\\'s Together\", d: \"Medium\", s: \"minimum-swaps-to-group-all-1s-together\" },\n { n: 1152, t: \"Analyze User Website Visit Pattern\", d: \"Medium\", s: \"analyze-user-website-visit-pattern\" },\n { n: 1153, t: \"String Transforms Into Another String\", d: \"Hard\", s: \"string-transforms-into-another-string\" },\n { n: 1154, t: \"Day of the Year\", d: \"Easy\", s: \"day-of-the-year\" },\n { n: 1155, t: \"Number of Dice Rolls With Target Sum\", d: \"Medium\", s: \"number-of-dice-rolls-with-target-sum\" },\n { n: 1156, t: \"Swap For Longest Repeated Character Substring\", d: \"Medium\", s: \"swap-for-longest-repeated-character-substring\" },\n { n: 1157, t: \"Online Majority Element In Subarray\", d: \"Hard\", s: \"online-majority-element-in-subarray\" },\n { n: 1158, t: \"Market Analysis I\", d: \"Medium\", s: \"market-analysis-i\" },\n { n: 1159, t: \"Market Analysis II\", d: \"Hard\", s: \"market-analysis-ii\" },\n { n: 1160, t: \"Find Words That Can Be Formed by Characters\", d: \"Easy\", s: \"find-words-that-can-be-formed-by-characters\" },\n { n: 1161, t: \"Maximum Level Sum of a Binary Tree\", d: \"Medium\", s: \"maximum-level-sum-of-a-binary-tree\" },\n { n: 1162, t: \"As Far from Land as Possible\", d: \"Medium\", s: \"as-far-from-land-as-possible\" },\n { n: 1163, t: \"Last Substring in Lexicographical Order\", d: \"Hard\", s: \"last-substring-in-lexicographical-order\" },\n { n: 1164, t: \"Product Price at a Given Date\", d: \"Medium\", s: \"product-price-at-a-given-date\" },\n { n: 1165, t: \"Single-Row Keyboard\", d: \"Easy\", s: \"single-row-keyboard\" },\n { n: 1166, t: \"Design File System\", d: \"Medium\", s: \"design-file-system\" },\n { n: 1167, t: \"Minimum Cost to Connect Sticks\", d: \"Medium\", s: \"minimum-cost-to-connect-sticks\" },\n { n: 1168, t: \"Optimize Water Distribution in a Village\", d: \"Hard\", s: \"optimize-water-distribution-in-a-village\" },\n { n: 1169, t: \"Invalid Transactions\", d: \"Medium\", s: \"invalid-transactions\" },\n { n: 1170, t: \"Compare Strings by Frequency of the Smallest Character\", d: \"Medium\", s: \"compare-strings-by-frequency-of-the-smallest-character\" },\n { n: 1171, t: \"Remove Zero Sum Consecutive Nodes from Linked List\", d: \"Medium\", s: \"remove-zero-sum-consecutive-nodes-from-linked-list\" },\n { n: 1172, t: \"Dinner Plate Stacks\", d: \"Hard\", s: \"dinner-plate-stacks\" },\n { n: 1173, t: \"Immediate Food Delivery I\", d: \"Easy\", s: \"immediate-food-delivery-i\" },\n { n: 1174, t: \"Immediate Food Delivery II\", d: \"Medium\", s: \"immediate-food-delivery-ii\" },\n { n: 1175, t: \"Prime Arrangements\", d: \"Easy\", s: \"prime-arrangements\" },\n { n: 1176, t: \"Diet Plan Performance\", d: \"Easy\", s: \"diet-plan-performance\" },\n { n: 1177, t: \"Can Make Palindrome from Substring\", d: \"Medium\", s: \"can-make-palindrome-from-substring\" },\n { n: 1178, t: \"Number of Valid Words for Each Puzzle\", d: \"Hard\", s: \"number-of-valid-words-for-each-puzzle\" },\n { n: 1179, t: \"Reformat Department Table\", d: \"Easy\", s: \"reformat-department-table\" },\n { n: 1180, t: \"Count Substrings with Only One Distinct Letter\", d: \"Easy\", s: \"count-substrings-with-only-one-distinct-letter\" },\n { n: 1181, t: \"Before and After Puzzle\", d: \"Medium\", s: \"before-and-after-puzzle\" },\n { n: 1182, t: \"Shortest Distance to Target Color\", d: \"Medium\", s: \"shortest-distance-to-target-color\" },\n { n: 1183, t: \"Maximum Number of Ones\", d: \"Hard\", s: \"maximum-number-of-ones\" },\n { n: 1184, t: \"Distance Between Bus Stops\", d: \"Easy\", s: \"distance-between-bus-stops\" },\n { n: 1185, t: \"Day of the Week\", d: \"Easy\", s: \"day-of-the-week\" },\n { n: 1186, t: \"Maximum Subarray Sum with One Deletion\", d: \"Medium\", s: \"maximum-subarray-sum-with-one-deletion\" },\n { n: 1187, t: \"Make Array Strictly Increasing\", d: \"Hard\", s: \"make-array-strictly-increasing\" },\n { n: 1188, t: \"Design Bounded Blocking Queue\", d: \"Medium\", s: \"design-bounded-blocking-queue\" },\n { n: 1189, t: \"Maximum Number of Balloons\", d: \"Easy\", s: \"maximum-number-of-balloons\" },\n { n: 1190, t: \"Reverse Substrings Between Each Pair of Parentheses\", d: \"Medium\", s: \"reverse-substrings-between-each-pair-of-parentheses\" },\n { n: 1191, t: \"K-Concatenation Maximum Sum\", d: \"Medium\", s: \"k-concatenation-maximum-sum\" },\n { n: 1192, t: \"Critical Connections in a Network\", d: \"Hard\", s: \"critical-connections-in-a-network\" },\n { n: 1193, t: \"Monthly Transactions I\", d: \"Medium\", s: \"monthly-transactions-i\" },\n { n: 1194, t: \"Tournament Winners\", d: \"Hard\", s: \"tournament-winners\" },\n { n: 1195, t: \"Fizz Buzz Multithreaded\", d: \"Medium\", s: \"fizz-buzz-multithreaded\" },\n { n: 1196, t: \"How Many Apples Can You Put into the Basket\", d: \"Easy\", s: \"how-many-apples-can-you-put-into-the-basket\" },\n { n: 1197, t: \"Minimum Knight Moves\", d: \"Medium\", s: \"minimum-knight-moves\" },\n { n: 1198, t: \"Find Smallest Common Element in All Rows\", d: \"Medium\", s: \"find-smallest-common-element-in-all-rows\" },\n { n: 1199, t: \"Minimum Time to Build Blocks\", d: \"Hard\", s: \"minimum-time-to-build-blocks\" },\n { n: 1200, t: \"Minimum Absolute Difference\", d: \"Easy\", s: \"minimum-absolute-difference\" },\n { n: 1201, t: \"Ugly Number III\", d: \"Medium\", s: \"ugly-number-iii\" },\n { n: 1202, t: \"Smallest String With Swaps\", d: \"Medium\", s: \"smallest-string-with-swaps\" },\n { n: 1203, t: \"Sort Items by Groups Respecting Dependencies\", d: \"Hard\", s: \"sort-items-by-groups-respecting-dependencies\" },\n { n: 1204, t: \"Last Person to Fit in the Bus\", d: \"Medium\", s: \"last-person-to-fit-in-the-bus\" },\n { n: 1205, t: \"Monthly Transactions II\", d: \"Medium\", s: \"monthly-transactions-ii\" },\n { n: 1206, t: \"Design Skiplist\", d: \"Hard\", s: \"design-skiplist\" },\n { n: 1207, t: \"Unique Number of Occurrences\", d: \"Easy\", s: \"unique-number-of-occurrences\" },\n { n: 1208, t: \"Get Equal Substrings Within Budget\", d: \"Medium\", s: \"get-equal-substrings-within-budget\" },\n { n: 1209, t: \"Remove All Adjacent Duplicates in String II\", d: \"Medium\", s: \"remove-all-adjacent-duplicates-in-string-ii\" },\n { n: 1210, t: \"Minimum Moves to Reach Target with Rotations\", d: \"Hard\", s: \"minimum-moves-to-reach-target-with-rotations\" },\n { n: 1211, t: \"Queries Quality and Percentage\", d: \"Easy\", s: \"queries-quality-and-percentage\" },\n { n: 1212, t: \"Team Scores in Football Tournament\", d: \"Medium\", s: \"team-scores-in-football-tournament\" },\n { n: 1213, t: \"Intersection of Three Sorted Arrays\", d: \"Easy\", s: \"intersection-of-three-sorted-arrays\" },\n { n: 1214, t: \"Two Sum BSTs\", d: \"Medium\", s: \"two-sum-bsts\" },\n { n: 1215, t: \"Stepping Numbers\", d: \"Medium\", s: \"stepping-numbers\" },\n { n: 1216, t: \"Valid Palindrome III\", d: \"Hard\", s: \"valid-palindrome-iii\" },\n { n: 1217, t: \"Minimum Cost to Move Chips to The Same Position\", d: \"Easy\", s: \"minimum-cost-to-move-chips-to-the-same-position\" },\n { n: 1218, t: \"Longest Arithmetic Subsequence of Given Difference\", d: \"Medium\", s: \"longest-arithmetic-subsequence-of-given-difference\" },\n { n: 1219, t: \"Path with Maximum Gold\", d: \"Medium\", s: \"path-with-maximum-gold\" },\n { n: 1220, t: \"Count Vowels Permutation\", d: \"Hard\", s: \"count-vowels-permutation\" },\n { n: 1221, t: \"Split a String in Balanced Strings\", d: \"Easy\", s: \"split-a-string-in-balanced-strings\" },\n { n: 1222, t: \"Queens That Can Attack the King\", d: \"Medium\", s: \"queens-that-can-attack-the-king\" },\n { n: 1223, t: \"Dice Roll Simulation\", d: \"Hard\", s: \"dice-roll-simulation\" },\n { n: 1224, t: \"Maximum Equal Frequency\", d: \"Hard\", s: \"maximum-equal-frequency\" },\n { n: 1225, t: \"Report Contiguous Dates\", d: \"Hard\", s: \"report-contiguous-dates\" },\n { n: 1226, t: \"The Dining Philosophers\", d: \"Medium\", s: \"the-dining-philosophers\" },\n { n: 1227, t: \"Airplane Seat Assignment Probability\", d: \"Medium\", s: \"airplane-seat-assignment-probability\" },\n { n: 1228, t: \"Missing Number In Arithmetic Progression\", d: \"Easy\", s: \"missing-number-in-arithmetic-progression\" },\n { n: 1229, t: \"Meeting Scheduler\", d: \"Medium\", s: \"meeting-scheduler\" },\n { n: 1230, t: \"Toss Strange Coins\", d: \"Medium\", s: \"toss-strange-coins\" },\n { n: 1231, t: \"Divide Chocolate\", d: \"Hard\", s: \"divide-chocolate\" },\n { n: 1232, t: \"Check If It Is a Straight Line\", d: \"Easy\", s: \"check-if-it-is-a-straight-line\" },\n { n: 1233, t: \"Remove Sub-Folders from the Filesystem\", d: \"Medium\", s: \"remove-sub-folders-from-the-filesystem\" },\n { n: 1234, t: \"Replace the Substring for Balanced String\", d: \"Medium\", s: \"replace-the-substring-for-balanced-string\" },\n { n: 1235, t: \"Maximum Profit in Job Scheduling\", d: \"Hard\", s: \"maximum-profit-in-job-scheduling\" },\n { n: 1236, t: \"Web Crawler\", d: \"Medium\", s: \"web-crawler\" },\n { n: 1237, t: \"Find Positive Integer Solution for a Given Equation\", d: \"Medium\", s: \"find-positive-integer-solution-for-a-given-equation\" },\n { n: 1238, t: \"Circular Permutation in Binary Representation\", d: \"Medium\", s: \"circular-permutation-in-binary-representation\" },\n { n: 1239, t: \"Maximum Length of a Concatenated String with Unique Characters\", d: \"Medium\", s: \"maximum-length-of-a-concatenated-string-with-unique-characters\" },\n { n: 1240, t: \"Tiling a Rectangle with the Fewest Squares\", d: \"Hard\", s: \"tiling-a-rectangle-with-the-fewest-squares\" },\n { n: 1241, t: \"Number of Comments per Post\", d: \"Easy\", s: \"number-of-comments-per-post\" },\n { n: 1242, t: \"Web Crawler Multithreaded\", d: \"Medium\", s: \"web-crawler-multithreaded\" },\n { n: 1243, t: \"Array Transformation\", d: \"Easy\", s: \"array-transformation\" },\n { n: 1244, t: \"Design A Leaderboard\", d: \"Medium\", s: \"design-a-leaderboard\" },\n { n: 1245, t: \"Tree Diameter\", d: \"Medium\", s: \"tree-diameter\" },\n { n: 1246, t: \"Palindrome Removal\", d: \"Hard\", s: \"palindrome-removal\" },\n { n: 1247, t: \"Minimum Swaps to Make Strings Equal\", d: \"Medium\", s: \"minimum-swaps-to-make-strings-equal\" },\n { n: 1248, t: \"Count Number of Nice Subarrays\", d: \"Medium\", s: \"count-number-of-nice-subarrays\" },\n { n: 1249, t: \"Minimum Remove to Make Valid Parentheses\", d: \"Medium\", s: \"minimum-remove-to-make-valid-parentheses\" },\n { n: 1250, t: \"Check If It Is a Good Array\", d: \"Hard\", s: \"check-if-it-is-a-good-array\" },\n { n: 1251, t: \"Average Selling Price\", d: \"Easy\", s: \"average-selling-price\" },\n { n: 1252, t: \"Cells with Odd Values in a Matrix\", d: \"Easy\", s: \"cells-with-odd-values-in-a-matrix\" },\n { n: 1253, t: \"Reconstruct a 2-Row Binary Matrix\", d: \"Medium\", s: \"reconstruct-a-2-row-binary-matrix\" },\n { n: 1254, t: \"Number of Closed Islands\", d: \"Medium\", s: \"number-of-closed-islands\" },\n { n: 1255, t: \"Maximum Score Words Formed by Letters\", d: \"Hard\", s: \"maximum-score-words-formed-by-letters\" },\n { n: 1256, t: \"Encode Number\", d: \"Medium\", s: \"encode-number\" },\n { n: 1257, t: \"Smallest Common Region\", d: \"Medium\", s: \"smallest-common-region\" },\n { n: 1258, t: \"Synonymous Sentences\", d: \"Medium\", s: \"synonymous-sentences\" },\n { n: 1259, t: \"Handshakes That Don\\'t Cross\", d: \"Hard\", s: \"handshakes-that-dont-cross\" },\n { n: 1260, t: \"Shift 2D Grid\", d: \"Easy\", s: \"shift-2d-grid\" },\n { n: 1261, t: \"Find Elements in a Contaminated Binary Tree\", d: \"Medium\", s: \"find-elements-in-a-contaminated-binary-tree\" },\n { n: 1262, t: \"Greatest Sum Divisible by Three\", d: \"Medium\", s: \"greatest-sum-divisible-by-three\" },\n { n: 1263, t: \"Minimum Moves to Move a Box to Their Target Location\", d: \"Hard\", s: \"minimum-moves-to-move-a-box-to-their-target-location\" },\n { n: 1264, t: \"Page Recommendations\", d: \"Medium\", s: \"page-recommendations\" },\n { n: 1265, t: \"Print Immutable Linked List in Reverse\", d: \"Medium\", s: \"print-immutable-linked-list-in-reverse\" },\n { n: 1266, t: \"Minimum Time Visiting All Points\", d: \"Easy\", s: \"minimum-time-visiting-all-points\" },\n { n: 1267, t: \"Count Servers that Communicate\", d: \"Medium\", s: \"count-servers-that-communicate\" },\n { n: 1268, t: \"Search Suggestions System\", d: \"Medium\", s: \"search-suggestions-system\" },\n { n: 1269, t: \"Number of Ways to Stay in the Same Place After Some Steps\", d: \"Hard\", s: \"number-of-ways-to-stay-in-the-same-place-after-some-steps\" },\n { n: 1270, t: \"All People Report to the Given Manager\", d: \"Medium\", s: \"all-people-report-to-the-given-manager\" },\n { n: 1271, t: \"Hexspeak\", d: \"Easy\", s: \"hexspeak\" },\n { n: 1272, t: \"Remove Interval\", d: \"Medium\", s: \"remove-interval\" },\n { n: 1273, t: \"Delete Tree Nodes\", d: \"Medium\", s: \"delete-tree-nodes\" },\n { n: 1274, t: \"Number of Ships in a Rectangle\", d: \"Hard\", s: \"number-of-ships-in-a-rectangle\" },\n { n: 1275, t: \"Find Winner on a Tic Tac Toe Game\", d: \"Easy\", s: \"find-winner-on-a-tic-tac-toe-game\" },\n { n: 1276, t: \"Number of Burgers with No Waste of Ingredients\", d: \"Medium\", s: \"number-of-burgers-with-no-waste-of-ingredients\" },\n { n: 1277, t: \"Count Square Submatrices with All Ones\", d: \"Medium\", s: \"count-square-submatrices-with-all-ones\" },\n { n: 1278, t: \"Palindrome Partitioning III\", d: \"Hard\", s: \"palindrome-partitioning-iii\" },\n { n: 1279, t: \"Traffic Light Controlled Intersection\", d: \"Easy\", s: \"traffic-light-controlled-intersection\" },\n { n: 1280, t: \"Students and Examinations\", d: \"Easy\", s: \"students-and-examinations\" },\n { n: 1281, t: \"Subtract the Product and Sum of Digits of an Integer\", d: \"Easy\", s: \"subtract-the-product-and-sum-of-digits-of-an-integer\" },\n { n: 1282, t: \"Group the People Given the Group Size They Belong To\", d: \"Medium\", s: \"group-the-people-given-the-group-size-they-belong-to\" },\n { n: 1283, t: \"Find the Smallest Divisor Given a Threshold\", d: \"Medium\", s: \"find-the-smallest-divisor-given-a-threshold\" },\n { n: 1284, t: \"Minimum Number of Flips to Convert Binary Matrix to Zero Matrix\", d: \"Hard\", s: \"minimum-number-of-flips-to-convert-binary-matrix-to-zero-matrix\" },\n { n: 1285, t: \"Find the Start and End Number of Continuous Ranges\", d: \"Medium\", s: \"find-the-start-and-end-number-of-continuous-ranges\" },\n { n: 1286, t: \"Iterator for Combination\", d: \"Medium\", s: \"iterator-for-combination\" },\n { n: 1287, t: \"Element Appearing More Than 25% In Sorted Array\", d: \"Easy\", s: \"element-appearing-more-than-25-in-sorted-array\" },\n { n: 1288, t: \"Remove Covered Intervals\", d: \"Medium\", s: \"remove-covered-intervals\" },\n { n: 1289, t: \"Minimum Falling Path Sum II\", d: \"Hard\", s: \"minimum-falling-path-sum-ii\" },\n { n: 1290, t: \"Convert Binary Number in a Linked List to Integer\", d: \"Easy\", s: \"convert-binary-number-in-a-linked-list-to-integer\" },\n { n: 1291, t: \"Sequential Digits\", d: \"Medium\", s: \"sequential-digits\" },\n { n: 1292, t: \"Maximum Side Length of a Square with Sum Less than or Equal to Threshold\", d: \"Medium\", s: \"maximum-side-length-of-a-square-with-sum-less-than-or-equal-to-threshold\" },\n { n: 1293, t: \"Shortest Path in a Grid with Obstacles Elimination\", d: \"Hard\", s: \"shortest-path-in-a-grid-with-obstacles-elimination\" },\n { n: 1294, t: \"Weather Type in Each Country\", d: \"Easy\", s: \"weather-type-in-each-country\" },\n { n: 1295, t: \"Find Numbers with Even Number of Digits\", d: \"Easy\", s: \"find-numbers-with-even-number-of-digits\" },\n { n: 1296, t: \"Divide Array in Sets of K Consecutive Numbers\", d: \"Medium\", s: \"divide-array-in-sets-of-k-consecutive-numbers\" },\n { n: 1297, t: \"Maximum Number of Occurrences of a Substring\", d: \"Medium\", s: \"maximum-number-of-occurrences-of-a-substring\" },\n { n: 1298, t: \"Maximum Candies You Can Get from Boxes\", d: \"Hard\", s: \"maximum-candies-you-can-get-from-boxes\" },\n { n: 1299, t: \"Replace Elements with Greatest Element on Right Side\", d: \"Easy\", s: \"replace-elements-with-greatest-element-on-right-side\" },\n { n: 1300, t: \"Sum of Mutated Array Closest to Target\", d: \"Medium\", s: \"sum-of-mutated-array-closest-to-target\" },\n { n: 1301, t: \"Number of Paths with Max Score\", d: \"Hard\", s: \"number-of-paths-with-max-score\" },\n { n: 1302, t: \"Deepest Leaves Sum\", d: \"Medium\", s: \"deepest-leaves-sum\" },\n { n: 1303, t: \"Find the Team Size\", d: \"Easy\", s: \"find-the-team-size\" },\n { n: 1304, t: \"Find N Unique Integers Sum up to Zero\", d: \"Easy\", s: \"find-n-unique-integers-sum-up-to-zero\" },\n { n: 1305, t: \"All Elements in Two Binary Search Trees\", d: \"Medium\", s: \"all-elements-in-two-binary-search-trees\" },\n { n: 1306, t: \"Jump Game III\", d: \"Medium\", s: \"jump-game-iii\" },\n { n: 1307, t: \"Verbal Arithmetic Puzzle\", d: \"Hard\", s: \"verbal-arithmetic-puzzle\" },\n { n: 1308, t: \"Running Total for Different Genders\", d: \"Medium\", s: \"running-total-for-different-genders\" },\n { n: 1309, t: \"Decrypt String from Alphabet to Integer Mapping\", d: \"Easy\", s: \"decrypt-string-from-alphabet-to-integer-mapping\" },\n { n: 1310, t: \"XOR Queries of a Subarray\", d: \"Medium\", s: \"xor-queries-of-a-subarray\" },\n { n: 1311, t: \"Get Watched Videos by Your Friends\", d: \"Medium\", s: \"get-watched-videos-by-your-friends\" },\n { n: 1312, t: \"Minimum Insertion Steps to Make a String Palindrome\", d: \"Hard\", s: \"minimum-insertion-steps-to-make-a-string-palindrome\" },\n { n: 1313, t: \"Decompress Run-Length Encoded List\", d: \"Easy\", s: \"decompress-run-length-encoded-list\" },\n { n: 1314, t: \"Matrix Block Sum\", d: \"Medium\", s: \"matrix-block-sum\" },\n { n: 1315, t: \"Sum of Nodes with Even-Valued Grandparent\", d: \"Medium\", s: \"sum-of-nodes-with-even-valued-grandparent\" },\n { n: 1316, t: \"Distinct Echo Substrings\", d: \"Hard\", s: \"distinct-echo-substrings\" },\n { n: 1317, t: \"Convert Integer to the Sum of Two No-Zero Integers\", d: \"Easy\", s: \"convert-integer-to-the-sum-of-two-no-zero-integers\" },\n { n: 1318, t: \"Minimum Flips to Make a OR b Equal to c\", d: \"Medium\", s: \"minimum-flips-to-make-a-or-b-equal-to-c\" },\n { n: 1319, t: \"Number of Operations to Make Network Connected\", d: \"Medium\", s: \"number-of-operations-to-make-network-connected\" },\n { n: 1320, t: \"Minimum Distance to Type a Word Using Two Fingers\", d: \"Hard\", s: \"minimum-distance-to-type-a-word-using-two-fingers\" },\n { n: 1321, t: \"Restaurant Growth\", d: \"Medium\", s: \"restaurant-growth\" },\n { n: 1322, t: \"Ads Performance\", d: \"Easy\", s: \"ads-performance\" },\n { n: 1323, t: \"Maximum 69 Number\", d: \"Easy\", s: \"maximum-69-number\" },\n { n: 1324, t: \"Print Words Vertically\", d: \"Medium\", s: \"print-words-vertically\" },\n { n: 1325, t: \"Delete Leaves With a Given Value\", d: \"Medium\", s: \"delete-leaves-with-a-given-value\" },\n { n: 1326, t: \"Minimum Number of Taps to Open to Water a Garden\", d: \"Hard\", s: \"minimum-number-of-taps-to-open-to-water-a-garden\" },\n { n: 1327, t: \"List the Products Ordered in a Period\", d: \"Easy\", s: \"list-the-products-ordered-in-a-period\" },\n { n: 1328, t: \"Break a Palindrome\", d: \"Medium\", s: \"break-a-palindrome\" },\n { n: 1329, t: \"Sort the Matrix Diagonally\", d: \"Medium\", s: \"sort-the-matrix-diagonally\" },\n { n: 1330, t: \"Reverse Subarray To Maximize Array Value\", d: \"Hard\", s: \"reverse-subarray-to-maximize-array-value\" },\n { n: 1331, t: \"Rank Transform of an Array\", d: \"Easy\", s: \"rank-transform-of-an-array\" },\n { n: 1332, t: \"Remove Palindromic Subsequences\", d: \"Easy\", s: \"remove-palindromic-subsequences\" },\n { n: 1333, t: \"Filter Restaurants by Vegan-Friendly, Price and Distance\", d: \"Medium\", s: \"filter-restaurants-by-vegan-friendly-price-and-distance\" },\n { n: 1334, t: \"Find the City With the Smallest Number of Neighbors at a Threshold Distance\", d: \"Medium\", s: \"find-the-city-with-the-smallest-number-of-neighbors-at-a-threshold-distance\" },\n { n: 1335, t: \"Minimum Difficulty of a Job Schedule\", d: \"Hard\", s: \"minimum-difficulty-of-a-job-schedule\" },\n { n: 1336, t: \"Number of Transactions per Visit\", d: \"Hard\", s: \"number-of-transactions-per-visit\" },\n { n: 1337, t: \"The K Weakest Rows in a Matrix\", d: \"Easy\", s: \"the-k-weakest-rows-in-a-matrix\" },\n { n: 1338, t: \"Reduce Array Size to The Half\", d: \"Medium\", s: \"reduce-array-size-to-the-half\" },\n { n: 1339, t: \"Maximum Product of Splitted Binary Tree\", d: \"Medium\", s: \"maximum-product-of-splitted-binary-tree\" },\n { n: 1340, t: \"Jump Game V\", d: \"Hard\", s: \"jump-game-v\" },\n { n: 1341, t: \"Movie Rating\", d: \"Medium\", s: \"movie-rating\" },\n { n: 1342, t: \"Number of Steps to Reduce a Number to Zero\", d: \"Easy\", s: \"number-of-steps-to-reduce-a-number-to-zero\" },\n { n: 1343, t: \"Number of Sub-arrays of Size K and Average Greater than or Equal to Threshold\", d: \"Medium\", s: \"number-of-sub-arrays-of-size-k-and-average-greater-than-or-equal-to-threshold\" },\n { n: 1344, t: \"Angle Between Hands of a Clock\", d: \"Medium\", s: \"angle-between-hands-of-a-clock\" },\n { n: 1345, t: \"Jump Game IV\", d: \"Hard\", s: \"jump-game-iv\" },\n { n: 1346, t: \"Check If N and Its Double Exist\", d: \"Easy\", s: \"check-if-n-and-its-double-exist\" },\n { n: 1347, t: \"Minimum Number of Steps to Make Two Strings Anagram\", d: \"Medium\", s: \"minimum-number-of-steps-to-make-two-strings-anagram\" },\n { n: 1348, t: \"Tweet Counts Per Frequency\", d: \"Medium\", s: \"tweet-counts-per-frequency\" },\n { n: 1349, t: \"Maximum Students Taking Exam\", d: \"Hard\", s: \"maximum-students-taking-exam\" },\n { n: 1350, t: \"Students With Invalid Departments\", d: \"Easy\", s: \"students-with-invalid-departments\" },\n { n: 1351, t: \"Count Negative Numbers in a Sorted Matrix\", d: \"Easy\", s: \"count-negative-numbers-in-a-sorted-matrix\" },\n { n: 1352, t: \"Product of the Last K Numbers\", d: \"Medium\", s: \"product-of-the-last-k-numbers\" },\n { n: 1353, t: \"Maximum Number of Events That Can Be Attended\", d: \"Medium\", s: \"maximum-number-of-events-that-can-be-attended\" },\n { n: 1354, t: \"Construct Target Array With Multiple Sums\", d: \"Hard\", s: \"construct-target-array-with-multiple-sums\" },\n { n: 1355, t: \"Activity Participants\", d: \"Medium\", s: \"activity-participants\" },\n { n: 1356, t: \"Sort Integers by The Number of 1 Bits\", d: \"Easy\", s: \"sort-integers-by-the-number-of-1-bits\" },\n { n: 1357, t: \"Apply Discount Every n Orders\", d: \"Medium\", s: \"apply-discount-every-n-orders\" },\n { n: 1358, t: \"Number of Substrings Containing All Three Characters\", d: \"Medium\", s: \"number-of-substrings-containing-all-three-characters\" },\n { n: 1359, t: \"Count All Valid Pickup and Delivery Options\", d: \"Hard\", s: \"count-all-valid-pickup-and-delivery-options\" },\n { n: 1360, t: \"Number of Days Between Two Dates\", d: \"Easy\", s: \"number-of-days-between-two-dates\" },\n { n: 1361, t: \"Validate Binary Tree Nodes\", d: \"Medium\", s: \"validate-binary-tree-nodes\" },\n { n: 1362, t: \"Closest Divisors\", d: \"Medium\", s: \"closest-divisors\" },\n { n: 1363, t: \"Largest Multiple of Three\", d: \"Hard\", s: \"largest-multiple-of-three\" },\n { n: 1364, t: \"Number of Trusted Contacts of a Customer\", d: \"Medium\", s: \"number-of-trusted-contacts-of-a-customer\" },\n { n: 1365, t: \"How Many Numbers Are Smaller Than the Current Number\", d: \"Easy\", s: \"how-many-numbers-are-smaller-than-the-current-number\" },\n { n: 1366, t: \"Rank Teams by Votes\", d: \"Medium\", s: \"rank-teams-by-votes\" },\n { n: 1367, t: \"Linked List in Binary Tree\", d: \"Medium\", s: \"linked-list-in-binary-tree\" },\n { n: 1368, t: \"Minimum Cost to Make at Least One Valid Path in a Grid\", d: \"Hard\", s: \"minimum-cost-to-make-at-least-one-valid-path-in-a-grid\" },\n { n: 1369, t: \"Get the Second Most Recent Activity\", d: \"Hard\", s: \"get-the-second-most-recent-activity\" },\n { n: 1370, t: \"Increasing Decreasing String\", d: \"Easy\", s: \"increasing-decreasing-string\" },\n { n: 1371, t: \"Find the Longest Substring Containing Vowels in Even Counts\", d: \"Medium\", s: \"find-the-longest-substring-containing-vowels-in-even-counts\" },\n { n: 1372, t: \"Longest ZigZag Path in a Binary Tree\", d: \"Medium\", s: \"longest-zigzag-path-in-a-binary-tree\" },\n { n: 1373, t: \"Maximum Sum BST in Binary Tree\", d: \"Hard\", s: \"maximum-sum-bst-in-binary-tree\" },\n { n: 1374, t: \"Generate a String With Characters That Have Odd Counts\", d: \"Easy\", s: \"generate-a-string-with-characters-that-have-odd-counts\" },\n { n: 1375, t: \"Number of Times Binary String Is Prefix-Aligned\", d: \"Medium\", s: \"number-of-times-binary-string-is-prefix-aligned\" },\n { n: 1376, t: \"Time Needed to Inform All Employees\", d: \"Medium\", s: \"time-needed-to-inform-all-employees\" },\n { n: 1377, t: \"Frog Position After T Seconds\", d: \"Hard\", s: \"frog-position-after-t-seconds\" },\n { n: 1378, t: \"Replace Employee ID With The Unique Identifier\", d: \"Easy\", s: \"replace-employee-id-with-the-unique-identifier\" },\n { n: 1379, t: \"Find a Corresponding Node of a Binary Tree in a Clone of That Tree\", d: \"Easy\", s: \"find-a-corresponding-node-of-a-binary-tree-in-a-clone-of-that-tree\" },\n { n: 1380, t: \"Lucky Numbers in a Matrix\", d: \"Easy\", s: \"lucky-numbers-in-a-matrix\" },\n { n: 1381, t: \"Design a Stack With Increment Operation\", d: \"Medium\", s: \"design-a-stack-with-increment-operation\" },\n { n: 1382, t: \"Balance a Binary Search Tree\", d: \"Medium\", s: \"balance-a-binary-search-tree\" },\n { n: 1383, t: \"Maximum Performance of a Team\", d: \"Hard\", s: \"maximum-performance-of-a-team\" },\n { n: 1384, t: \"Total Sales Amount by Year\", d: \"Hard\", s: \"total-sales-amount-by-year\" },\n { n: 1385, t: \"Find the Distance Value Between Two Arrays\", d: \"Easy\", s: \"find-the-distance-value-between-two-arrays\" },\n { n: 1386, t: \"Cinema Seat Allocation\", d: \"Medium\", s: \"cinema-seat-allocation\" },\n { n: 1387, t: \"Sort Integers by The Power Value\", d: \"Medium\", s: \"sort-integers-by-the-power-value\" },\n { n: 1388, t: \"Pizza With 3n Slices\", d: \"Hard\", s: \"pizza-with-3n-slices\" },\n { n: 1389, t: \"Create Target Array in the Given Order\", d: \"Easy\", s: \"create-target-array-in-the-given-order\" },\n { n: 1390, t: \"Four Divisors\", d: \"Medium\", s: \"four-divisors\" },\n { n: 1391, t: \"Check if There is a Valid Path in a Grid\", d: \"Medium\", s: \"check-if-there-is-a-valid-path-in-a-grid\" },\n { n: 1392, t: \"Longest Happy Prefix\", d: \"Hard\", s: \"longest-happy-prefix\" },\n { n: 1393, t: \"Capital Gain/Loss\", d: \"Medium\", s: \"capital-gainloss\" },\n { n: 1394, t: \"Find Lucky Integer in an Array\", d: \"Easy\", s: \"find-lucky-integer-in-an-array\" },\n { n: 1395, t: \"Count Number of Teams\", d: \"Medium\", s: \"count-number-of-teams\" },\n { n: 1396, t: \"Design Underground System\", d: \"Medium\", s: \"design-underground-system\" },\n { n: 1397, t: \"Find All Good Strings\", d: \"Hard\", s: \"find-all-good-strings\" },\n { n: 1398, t: \"Customers Who Bought Products A and B but Not C\", d: \"Medium\", s: \"customers-who-bought-products-a-and-b-but-not-c\" },\n { n: 1399, t: \"Count Largest Group\", d: \"Easy\", s: \"count-largest-group\" },\n { n: 1400, t: \"Construct K Palindrome Strings\", d: \"Medium\", s: \"construct-k-palindrome-strings\" },\n { n: 1401, t: \"Circle and Rectangle Overlapping\", d: \"Medium\", s: \"circle-and-rectangle-overlapping\" },\n { n: 1402, t: \"Reducing Dishes\", d: \"Hard\", s: \"reducing-dishes\" },\n { n: 1403, t: \"Minimum Subsequence in Non-Increasing Order\", d: \"Easy\", s: \"minimum-subsequence-in-non-increasing-order\" },\n { n: 1404, t: \"Number of Steps to Reduce a Number in Binary Representation to One\", d: \"Medium\", s: \"number-of-steps-to-reduce-a-number-in-binary-representation-to-one\" },\n { n: 1405, t: \"Longest Happy String\", d: \"Medium\", s: \"longest-happy-string\" },\n { n: 1406, t: \"Stone Game III\", d: \"Hard\", s: \"stone-game-iii\" },\n { n: 1407, t: \"Top Travellers\", d: \"Easy\", s: \"top-travellers\" },\n { n: 1408, t: \"String Matching in an Array\", d: \"Easy\", s: \"string-matching-in-an-array\" },\n { n: 1409, t: \"Queries on a Permutation With Key\", d: \"Medium\", s: \"queries-on-a-permutation-with-key\" },\n { n: 1410, t: \"HTML Entity Parser\", d: \"Medium\", s: \"html-entity-parser\" },\n { n: 1411, t: \"Number of Ways to Paint N × 3 Grid\", d: \"Hard\", s: \"number-of-ways-to-paint-n-3-grid\" },\n { n: 1412, t: \"Find the Quiet Students in All Exams\", d: \"Hard\", s: \"find-the-quiet-students-in-all-exams\" },\n { n: 1413, t: \"Minimum Value to Get Positive Step by Step Sum\", d: \"Easy\", s: \"minimum-value-to-get-positive-step-by-step-sum\" },\n { n: 1414, t: \"Find the Minimum Number of Fibonacci Numbers Whose Sum Is K\", d: \"Medium\", s: \"find-the-minimum-number-of-fibonacci-numbers-whose-sum-is-k\" },\n { n: 1415, t: \"The k-th Lexicographical String of All Happy Strings of Length n\", d: \"Medium\", s: \"the-k-th-lexicographical-string-of-all-happy-strings-of-length-n\" },\n { n: 1416, t: \"Restore The Array\", d: \"Hard\", s: \"restore-the-array\" },\n { n: 1417, t: \"Reformat The String\", d: \"Easy\", s: \"reformat-the-string\" },\n { n: 1418, t: \"Display Table of Food Orders in a Restaurant\", d: \"Medium\", s: \"display-table-of-food-orders-in-a-restaurant\" },\n { n: 1419, t: \"Minimum Number of Frogs Croaking\", d: \"Medium\", s: \"minimum-number-of-frogs-croaking\" },\n { n: 1420, t: \"Build Array Where You Can Find The Maximum Exactly K Comparisons\", d: \"Hard\", s: \"build-array-where-you-can-find-the-maximum-exactly-k-comparisons\" },\n { n: 1421, t: \"NPV Queries\", d: \"Easy\", s: \"npv-queries\" },\n { n: 1422, t: \"Maximum Score After Splitting a String\", d: \"Easy\", s: \"maximum-score-after-splitting-a-string\" },\n { n: 1423, t: \"Maximum Points You Can Obtain from Cards\", d: \"Medium\", s: \"maximum-points-you-can-obtain-from-cards\" },\n { n: 1424, t: \"Diagonal Traverse II\", d: \"Medium\", s: \"diagonal-traverse-ii\" },\n { n: 1425, t: \"Constrained Subsequence Sum\", d: \"Hard\", s: \"constrained-subsequence-sum\" },\n { n: 1426, t: \"Counting Elements\", d: \"Easy\", s: \"counting-elements\" },\n { n: 1427, t: \"Perform String Shifts\", d: \"Easy\", s: \"perform-string-shifts\" },\n { n: 1428, t: \"Leftmost Column with at Least a One\", d: \"Medium\", s: \"leftmost-column-with-at-least-a-one\" },\n { n: 1429, t: \"First Unique Number\", d: \"Medium\", s: \"first-unique-number\" },\n { n: 1430, t: \"Check If a String Is a Valid Sequence from Root to Leaves Path in a Binary Tree\", d: \"Medium\", s: \"check-if-a-string-is-a-valid-sequence-from-root-to-leaves-path-in-a-binary-tree\" },\n { n: 1431, t: \"Kids With the Greatest Number of Candies\", d: \"Easy\", s: \"kids-with-the-greatest-number-of-candies\" },\n { n: 1432, t: \"Max Difference You Can Get From Changing an Integer\", d: \"Medium\", s: \"max-difference-you-can-get-from-changing-an-integer\" },\n { n: 1433, t: \"Check If a String Can Break Another String\", d: \"Medium\", s: \"check-if-a-string-can-break-another-string\" },\n { n: 1434, t: \"Number of Ways to Wear Different Hats to Each Other\", d: \"Hard\", s: \"number-of-ways-to-wear-different-hats-to-each-other\" },\n { n: 1435, t: \"Create a Session Bar Chart\", d: \"Easy\", s: \"create-a-session-bar-chart\" },\n { n: 1436, t: \"Destination City\", d: \"Easy\", s: \"destination-city\" },\n { n: 1437, t: \"Check If All 1\\'s Are at Least Length K Places Away\", d: \"Easy\", s: \"check-if-all-1s-are-at-least-length-k-places-away\" },\n { n: 1438, t: \"Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit\", d: \"Medium\", s: \"longest-continuous-subarray-with-absolute-diff-less-than-or-equal-to-limit\" },\n { n: 1439, t: \"Find the Kth Smallest Sum of a Matrix With Sorted Rows\", d: \"Hard\", s: \"find-the-kth-smallest-sum-of-a-matrix-with-sorted-rows\" },\n { n: 1440, t: \"Evaluate Boolean Expression\", d: \"Medium\", s: \"evaluate-boolean-expression\" },\n { n: 1441, t: \"Build an Array With Stack Operations\", d: \"Medium\", s: \"build-an-array-with-stack-operations\" },\n { n: 1442, t: \"Count Triplets That Can Form Two Arrays of Equal XOR\", d: \"Medium\", s: \"count-triplets-that-can-form-two-arrays-of-equal-xor\" },\n { n: 1443, t: \"Minimum Time to Collect All Apples in a Tree\", d: \"Medium\", s: \"minimum-time-to-collect-all-apples-in-a-tree\" },\n { n: 1444, t: \"Number of Ways of Cutting a Pizza\", d: \"Hard\", s: \"number-of-ways-of-cutting-a-pizza\" },\n { n: 1445, t: \"Apples & Oranges\", d: \"Medium\", s: \"apples-oranges\" },\n { n: 1446, t: \"Consecutive Characters\", d: \"Easy\", s: \"consecutive-characters\" },\n { n: 1447, t: \"Simplified Fractions\", d: \"Medium\", s: \"simplified-fractions\" },\n { n: 1448, t: \"Count Good Nodes in Binary Tree\", d: \"Medium\", s: \"count-good-nodes-in-binary-tree\" },\n { n: 1449, t: \"Form Largest Integer With Digits That Add up to Target\", d: \"Hard\", s: \"form-largest-integer-with-digits-that-add-up-to-target\" },\n { n: 1450, t: \"Number of Students Doing Homework at a Given Time\", d: \"Easy\", s: \"number-of-students-doing-homework-at-a-given-time\" },\n { n: 1451, t: \"Rearrange Words in a Sentence\", d: \"Medium\", s: \"rearrange-words-in-a-sentence\" },\n { n: 1452, t: \"People Whose List of Favorite Companies Is Not a Subset of Another List\", d: \"Medium\", s: \"people-whose-list-of-favorite-companies-is-not-a-subset-of-another-list\" },\n { n: 1453, t: \"Maximum Number of Darts Inside of a Circular Dartboard\", d: \"Hard\", s: \"maximum-number-of-darts-inside-of-a-circular-dartboard\" },\n { n: 1454, t: \"Active Users\", d: \"Medium\", s: \"active-users\" },\n { n: 1455, t: \"Check If a Word Occurs As a Prefix of Any Word in a Sentence\", d: \"Easy\", s: \"check-if-a-word-occurs-as-a-prefix-of-any-word-in-a-sentence\" },\n { n: 1456, t: \"Maximum Number of Vowels in a Substring of Given Length\", d: \"Medium\", s: \"maximum-number-of-vowels-in-a-substring-of-given-length\" },\n { n: 1457, t: \"Pseudo-Palindromic Paths in a Binary Tree\", d: \"Medium\", s: \"pseudo-palindromic-paths-in-a-binary-tree\" },\n { n: 1458, t: \"Max Dot Product of Two Subsequences\", d: \"Hard\", s: \"max-dot-product-of-two-subsequences\" },\n { n: 1459, t: \"Rectangles Area\", d: \"Medium\", s: \"rectangles-area\" },\n { n: 1460, t: \"Make Two Arrays Equal by Reversing Subarrays\", d: \"Easy\", s: \"make-two-arrays-equal-by-reversing-subarrays\" },\n { n: 1461, t: \"Check If a String Contains All Binary Codes of Size K\", d: \"Medium\", s: \"check-if-a-string-contains-all-binary-codes-of-size-k\" },\n { n: 1462, t: \"Course Schedule IV\", d: \"Medium\", s: \"course-schedule-iv\" },\n { n: 1463, t: \"Cherry Pickup II\", d: \"Hard\", s: \"cherry-pickup-ii\" },\n { n: 1464, t: \"Maximum Product of Two Elements in an Array\", d: \"Easy\", s: \"maximum-product-of-two-elements-in-an-array\" },\n { n: 1465, t: \"Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts\", d: \"Medium\", s: \"maximum-area-of-a-piece-of-cake-after-horizontal-and-vertical-cuts\" },\n { n: 1466, t: \"Reorder Routes to Make All Paths Lead to the City Zero\", d: \"Medium\", s: \"reorder-routes-to-make-all-paths-lead-to-the-city-zero\" },\n { n: 1467, t: \"Probability of a Two Boxes Having The Same Number of Distinct Balls\", d: \"Hard\", s: \"probability-of-a-two-boxes-having-the-same-number-of-distinct-balls\" },\n { n: 1468, t: \"Calculate Salaries\", d: \"Medium\", s: \"calculate-salaries\" },\n { n: 1469, t: \"Find All The Lonely Nodes\", d: \"Easy\", s: \"find-all-the-lonely-nodes\" },\n { n: 1470, t: \"Shuffle the Array\", d: \"Easy\", s: \"shuffle-the-array\" },\n { n: 1471, t: \"The k Strongest Values in an Array\", d: \"Medium\", s: \"the-k-strongest-values-in-an-array\" },\n { n: 1472, t: \"Design Browser History\", d: \"Medium\", s: \"design-browser-history\" },\n { n: 1473, t: \"Paint House III\", d: \"Hard\", s: \"paint-house-iii\" },\n { n: 1474, t: \"Delete N Nodes After M Nodes of a Linked List\", d: \"Easy\", s: \"delete-n-nodes-after-m-nodes-of-a-linked-list\" },\n { n: 1475, t: \"Final Prices With a Special Discount in a Shop\", d: \"Easy\", s: \"final-prices-with-a-special-discount-in-a-shop\" },\n { n: 1476, t: \"Subrectangle Queries\", d: \"Medium\", s: \"subrectangle-queries\" },\n { n: 1477, t: \"Find Two Non-overlapping Sub-arrays Each With Target Sum\", d: \"Medium\", s: \"find-two-non-overlapping-sub-arrays-each-with-target-sum\" },\n { n: 1478, t: \"Allocate Mailboxes\", d: \"Hard\", s: \"allocate-mailboxes\" },\n { n: 1479, t: \"Sales by Day of the Week\", d: \"Hard\", s: \"sales-by-day-of-the-week\" },\n { n: 1480, t: \"Running Sum of 1d Array\", d: \"Easy\", s: \"running-sum-of-1d-array\" },\n { n: 1481, t: \"Least Number of Unique Integers after K Removals\", d: \"Medium\", s: \"least-number-of-unique-integers-after-k-removals\" },\n { n: 1482, t: \"Minimum Number of Days to Make m Bouquets\", d: \"Medium\", s: \"minimum-number-of-days-to-make-m-bouquets\" },\n { n: 1483, t: \"Kth Ancestor of a Tree Node\", d: \"Hard\", s: \"kth-ancestor-of-a-tree-node\" },\n { n: 1484, t: \"Group Sold Products By The Date\", d: \"Easy\", s: \"group-sold-products-by-the-date\" },\n { n: 1485, t: \"Clone Binary Tree With Random Pointer\", d: \"Medium\", s: \"clone-binary-tree-with-random-pointer\" },\n { n: 1486, t: \"XOR Operation in an Array\", d: \"Easy\", s: \"xor-operation-in-an-array\" },\n { n: 1487, t: \"Making File Names Unique\", d: \"Medium\", s: \"making-file-names-unique\" },\n { n: 1488, t: \"Avoid Flood in The City\", d: \"Medium\", s: \"avoid-flood-in-the-city\" },\n { n: 1489, t: \"Find Critical and Pseudo-Critical Edges in Minimum Spanning Tree\", d: \"Hard\", s: \"find-critical-and-pseudo-critical-edges-in-minimum-spanning-tree\" },\n { n: 1490, t: \"Clone N-ary Tree\", d: \"Medium\", s: \"clone-n-ary-tree\" },\n { n: 1491, t: \"Average Salary Excluding the Minimum and Maximum Salary\", d: \"Easy\", s: \"average-salary-excluding-the-minimum-and-maximum-salary\" },\n { n: 1492, t: \"The kth Factor of n\", d: \"Medium\", s: \"the-kth-factor-of-n\" },\n { n: 1493, t: \"Longest Subarray of 1\\'s After Deleting One Element\", d: \"Medium\", s: \"longest-subarray-of-1s-after-deleting-one-element\" },\n { n: 1494, t: \"Parallel Courses II\", d: \"Hard\", s: \"parallel-courses-ii\" },\n { n: 1495, t: \"Friendly Movies Streamed Last Month\", d: \"Easy\", s: \"friendly-movies-streamed-last-month\" },\n { n: 1496, t: \"Path Crossing\", d: \"Easy\", s: \"path-crossing\" },\n { n: 1497, t: \"Check If Array Pairs Are Divisible by k\", d: \"Medium\", s: \"check-if-array-pairs-are-divisible-by-k\" },\n { n: 1498, t: \"Number of Subsequences That Satisfy the Given Sum Condition\", d: \"Medium\", s: \"number-of-subsequences-that-satisfy-the-given-sum-condition\" },\n { n: 1499, t: \"Max Value of Equation\", d: \"Hard\", s: \"max-value-of-equation\" },\n { n: 1500, t: \"Design a File Sharing System\", d: \"Medium\", s: \"design-a-file-sharing-system\" },\n { n: 1501, t: \"Countries You Can Safely Invest In\", d: \"Medium\", s: \"countries-you-can-safely-invest-in\" },\n { n: 1502, t: \"Can Make Arithmetic Progression From Sequence\", d: \"Easy\", s: \"can-make-arithmetic-progression-from-sequence\" },\n { n: 1503, t: \"Last Moment Before All Ants Fall Out of a Plank\", d: \"Medium\", s: \"last-moment-before-all-ants-fall-out-of-a-plank\" },\n { n: 1504, t: \"Count Submatrices With All Ones\", d: \"Medium\", s: \"count-submatrices-with-all-ones\" },\n { n: 1505, t: \"Minimum Possible Integer After at Most K Adjacent Swaps On Digits\", d: \"Hard\", s: \"minimum-possible-integer-after-at-most-k-adjacent-swaps-on-digits\" },\n { n: 1506, t: \"Find Root of N-Ary Tree\", d: \"Medium\", s: \"find-root-of-n-ary-tree\" },\n { n: 1507, t: \"Reformat Date\", d: \"Easy\", s: \"reformat-date\" },\n { n: 1508, t: \"Range Sum of Sorted Subarray Sums\", d: \"Medium\", s: \"range-sum-of-sorted-subarray-sums\" },\n { n: 1509, t: \"Minimum Difference Between Largest and Smallest Value in Three Moves\", d: \"Medium\", s: \"minimum-difference-between-largest-and-smallest-value-in-three-moves\" },\n { n: 1510, t: \"Stone Game IV\", d: \"Hard\", s: \"stone-game-iv\" },\n { n: 1511, t: \"Customer Order Frequency\", d: \"Easy\", s: \"customer-order-frequency\" },\n { n: 1512, t: \"Number of Good Pairs\", d: \"Easy\", s: \"number-of-good-pairs\" },\n { n: 1513, t: \"Number of Substrings With Only 1s\", d: \"Medium\", s: \"number-of-substrings-with-only-1s\" },\n { n: 1514, t: \"Path with Maximum Probability\", d: \"Medium\", s: \"path-with-maximum-probability\" },\n { n: 1515, t: \"Best Position for a Service Centre\", d: \"Hard\", s: \"best-position-for-a-service-centre\" },\n { n: 1516, t: \"Move Sub-Tree of N-Ary Tree\", d: \"Hard\", s: \"move-sub-tree-of-n-ary-tree\" },\n { n: 1517, t: \"Find Users With Valid E-Mails\", d: \"Easy\", s: \"find-users-with-valid-e-mails\" },\n { n: 1518, t: \"Water Bottles\", d: \"Easy\", s: \"water-bottles\" },\n { n: 1519, t: \"Number of Nodes in the Sub-Tree With the Same Label\", d: \"Medium\", s: \"number-of-nodes-in-the-sub-tree-with-the-same-label\" },\n { n: 1520, t: \"Maximum Number of Non-Overlapping Substrings\", d: \"Hard\", s: \"maximum-number-of-non-overlapping-substrings\" },\n { n: 1521, t: \"Find a Value of a Mysterious Function Closest to Target\", d: \"Hard\", s: \"find-a-value-of-a-mysterious-function-closest-to-target\" },\n { n: 1522, t: \"Diameter of N-Ary Tree\", d: \"Medium\", s: \"diameter-of-n-ary-tree\" },\n { n: 1523, t: \"Count Odd Numbers in an Interval Range\", d: \"Easy\", s: \"count-odd-numbers-in-an-interval-range\" },\n { n: 1524, t: \"Number of Sub-arrays With Odd Sum\", d: \"Medium\", s: \"number-of-sub-arrays-with-odd-sum\" },\n { n: 1525, t: \"Number of Good Ways to Split a String\", d: \"Medium\", s: \"number-of-good-ways-to-split-a-string\" },\n { n: 1526, t: \"Minimum Number of Increments on Subarrays to Form a Target Array\", d: \"Hard\", s: \"minimum-number-of-increments-on-subarrays-to-form-a-target-array\" },\n { n: 1527, t: \"Patients With a Condition\", d: \"Easy\", s: \"patients-with-a-condition\" },\n { n: 1528, t: \"Shuffle String\", d: \"Easy\", s: \"shuffle-string\" },\n { n: 1529, t: \"Minimum Suffix Flips\", d: \"Medium\", s: \"minimum-suffix-flips\" },\n { n: 1530, t: \"Number of Good Leaf Nodes Pairs\", d: \"Medium\", s: \"number-of-good-leaf-nodes-pairs\" },\n { n: 1531, t: \"String Compression II\", d: \"Hard\", s: \"string-compression-ii\" },\n { n: 1532, t: \"The Most Recent Three Orders\", d: \"Medium\", s: \"the-most-recent-three-orders\" },\n { n: 1533, t: \"Find the Index of the Large Integer\", d: \"Medium\", s: \"find-the-index-of-the-large-integer\" },\n { n: 1534, t: \"Count Good Triplets\", d: \"Easy\", s: \"count-good-triplets\" },\n { n: 1535, t: \"Find the Winner of an Array Game\", d: \"Medium\", s: \"find-the-winner-of-an-array-game\" },\n { n: 1536, t: \"Minimum Swaps to Arrange a Binary Grid\", d: \"Medium\", s: \"minimum-swaps-to-arrange-a-binary-grid\" },\n { n: 1537, t: \"Get the Maximum Score\", d: \"Hard\", s: \"get-the-maximum-score\" },\n { n: 1538, t: \"Guess the Majority in a Hidden Array\", d: \"Medium\", s: \"guess-the-majority-in-a-hidden-array\" },\n { n: 1539, t: \"Kth Missing Positive Number\", d: \"Easy\", s: \"kth-missing-positive-number\" },\n { n: 1540, t: \"Can Convert String in K Moves\", d: \"Medium\", s: \"can-convert-string-in-k-moves\" },\n { n: 1541, t: \"Minimum Insertions to Balance a Parentheses String\", d: \"Medium\", s: \"minimum-insertions-to-balance-a-parentheses-string\" },\n { n: 1542, t: \"Find Longest Awesome Substring\", d: \"Hard\", s: \"find-longest-awesome-substring\" },\n { n: 1543, t: \"Fix Product Name Format\", d: \"Easy\", s: \"fix-product-name-format\" },\n { n: 1544, t: \"Make The String Great\", d: \"Easy\", s: \"make-the-string-great\" },\n { n: 1545, t: \"Find Kth Bit in Nth Binary String\", d: \"Medium\", s: \"find-kth-bit-in-nth-binary-string\" },\n { n: 1546, t: \"Maximum Number of Non-Overlapping Subarrays With Sum Equals Target\", d: \"Medium\", s: \"maximum-number-of-non-overlapping-subarrays-with-sum-equals-target\" },\n { n: 1547, t: \"Minimum Cost to Cut a Stick\", d: \"Hard\", s: \"minimum-cost-to-cut-a-stick\" },\n { n: 1548, t: \"The Most Similar Path in a Graph\", d: \"Hard\", s: \"the-most-similar-path-in-a-graph\" },\n { n: 1549, t: \"The Most Recent Orders for Each Product\", d: \"Medium\", s: \"the-most-recent-orders-for-each-product\" },\n { n: 1550, t: \"Three Consecutive Odds\", d: \"Easy\", s: \"three-consecutive-odds\" },\n { n: 1551, t: \"Minimum Operations to Make Array Equal\", d: \"Medium\", s: \"minimum-operations-to-make-array-equal\" },\n { n: 1552, t: \"Magnetic Force Between Two Balls\", d: \"Medium\", s: \"magnetic-force-between-two-balls\" },\n { n: 1553, t: \"Minimum Number of Days to Eat N Oranges\", d: \"Hard\", s: \"minimum-number-of-days-to-eat-n-oranges\" },\n { n: 1554, t: \"Strings Differ by One Character\", d: \"Medium\", s: \"strings-differ-by-one-character\" },\n { n: 1555, t: \"Bank Account Summary\", d: \"Medium\", s: \"bank-account-summary\" },\n { n: 1556, t: \"Thousand Separator\", d: \"Easy\", s: \"thousand-separator\" },\n { n: 1557, t: \"Minimum Number of Vertices to Reach All Nodes\", d: \"Medium\", s: \"minimum-number-of-vertices-to-reach-all-nodes\" },\n { n: 1558, t: \"Minimum Numbers of Function Calls to Make Target Array\", d: \"Medium\", s: \"minimum-numbers-of-function-calls-to-make-target-array\" },\n { n: 1559, t: \"Detect Cycles in 2D Grid\", d: \"Medium\", s: \"detect-cycles-in-2d-grid\" },\n { n: 1560, t: \"Most Visited Sector in a Circular Track\", d: \"Easy\", s: \"most-visited-sector-in-a-circular-track\" },\n { n: 1561, t: \"Maximum Number of Coins You Can Get\", d: \"Medium\", s: \"maximum-number-of-coins-you-can-get\" },\n { n: 1562, t: \"Find Latest Group of Size M\", d: \"Medium\", s: \"find-latest-group-of-size-m\" },\n { n: 1563, t: \"Stone Game V\", d: \"Hard\", s: \"stone-game-v\" },\n { n: 1564, t: \"Put Boxes Into the Warehouse I\", d: \"Medium\", s: \"put-boxes-into-the-warehouse-i\" },\n { n: 1565, t: \"Unique Orders and Customers Per Month\", d: \"Easy\", s: \"unique-orders-and-customers-per-month\" },\n { n: 1566, t: \"Detect Pattern of Length M Repeated K or More Times\", d: \"Easy\", s: \"detect-pattern-of-length-m-repeated-k-or-more-times\" },\n { n: 1567, t: \"Maximum Length of Subarray With Positive Product\", d: \"Medium\", s: \"maximum-length-of-subarray-with-positive-product\" },\n { n: 1568, t: \"Minimum Number of Days to Disconnect Island\", d: \"Hard\", s: \"minimum-number-of-days-to-disconnect-island\" },\n { n: 1569, t: \"Number of Ways to Reorder Array to Get Same BST\", d: \"Hard\", s: \"number-of-ways-to-reorder-array-to-get-same-bst\" },\n { n: 1570, t: \"Dot Product of Two Sparse Vectors\", d: \"Medium\", s: \"dot-product-of-two-sparse-vectors\" },\n { n: 1571, t: \"Warehouse Manager\", d: \"Easy\", s: \"warehouse-manager\" },\n { n: 1572, t: \"Matrix Diagonal Sum\", d: \"Easy\", s: \"matrix-diagonal-sum\" },\n { n: 1573, t: \"Number of Ways to Split a String\", d: \"Medium\", s: \"number-of-ways-to-split-a-string\" },\n { n: 1574, t: \"Shortest Subarray to be Removed to Make Array Sorted\", d: \"Medium\", s: \"shortest-subarray-to-be-removed-to-make-array-sorted\" },\n { n: 1575, t: \"Count All Possible Routes\", d: \"Hard\", s: \"count-all-possible-routes\" },\n { n: 1576, t: \"Replace All ?\\'s to Avoid Consecutive Repeating Characters\", d: \"Easy\", s: \"replace-all-s-to-avoid-consecutive-repeating-characters\" },\n { n: 1577, t: \"Number of Ways Where Square of Number Is Equal to Product of Two Numbers\", d: \"Medium\", s: \"number-of-ways-where-square-of-number-is-equal-to-product-of-two-numbers\" },\n { n: 1578, t: \"Minimum Time to Make Rope Colorful\", d: \"Medium\", s: \"minimum-time-to-make-rope-colorful\" },\n { n: 1579, t: \"Remove Max Number of Edges to Keep Graph Fully Traversable\", d: \"Hard\", s: \"remove-max-number-of-edges-to-keep-graph-fully-traversable\" },\n { n: 1580, t: \"Put Boxes Into the Warehouse II\", d: \"Medium\", s: \"put-boxes-into-the-warehouse-ii\" },\n { n: 1581, t: \"Customer Who Visited but Did Not Make Any Transactions\", d: \"Easy\", s: \"customer-who-visited-but-did-not-make-any-transactions\" },\n { n: 1582, t: \"Special Positions in a Binary Matrix\", d: \"Easy\", s: \"special-positions-in-a-binary-matrix\" },\n { n: 1583, t: \"Count Unhappy Friends\", d: \"Medium\", s: \"count-unhappy-friends\" },\n { n: 1584, t: \"Min Cost to Connect All Points\", d: \"Medium\", s: \"min-cost-to-connect-all-points\" },\n { n: 1585, t: \"Check If String Is Transformable With Substring Sort Operations\", d: \"Hard\", s: \"check-if-string-is-transformable-with-substring-sort-operations\" },\n { n: 1586, t: \"Binary Search Tree Iterator II\", d: \"Medium\", s: \"binary-search-tree-iterator-ii\" },\n { n: 1587, t: \"Bank Account Summary II\", d: \"Easy\", s: \"bank-account-summary-ii\" },\n { n: 1588, t: \"Sum of All Odd Length Subarrays\", d: \"Easy\", s: \"sum-of-all-odd-length-subarrays\" },\n { n: 1589, t: \"Maximum Sum Obtained of Any Permutation\", d: \"Medium\", s: \"maximum-sum-obtained-of-any-permutation\" },\n { n: 1590, t: \"Make Sum Divisible by P\", d: \"Medium\", s: \"make-sum-divisible-by-p\" },\n { n: 1591, t: \"Strange Printer II\", d: \"Hard\", s: \"strange-printer-ii\" },\n { n: 1592, t: \"Rearrange Spaces Between Words\", d: \"Easy\", s: \"rearrange-spaces-between-words\" },\n { n: 1593, t: \"Split a String Into the Max Number of Unique Substrings\", d: \"Medium\", s: \"split-a-string-into-the-max-number-of-unique-substrings\" },\n { n: 1594, t: \"Maximum Non Negative Product in a Matrix\", d: \"Medium\", s: \"maximum-non-negative-product-in-a-matrix\" },\n { n: 1595, t: \"Minimum Cost to Connect Two Groups of Points\", d: \"Hard\", s: \"minimum-cost-to-connect-two-groups-of-points\" },\n { n: 1596, t: \"The Most Frequently Ordered Products for Each Customer\", d: \"Medium\", s: \"the-most-frequently-ordered-products-for-each-customer\" },\n { n: 1597, t: \"Build Binary Expression Tree From Infix Expression\", d: \"Hard\", s: \"build-binary-expression-tree-from-infix-expression\" },\n { n: 1598, t: \"Crawler Log Folder\", d: \"Easy\", s: \"crawler-log-folder\" },\n { n: 1599, t: \"Maximum Profit of Operating a Centennial Wheel\", d: \"Medium\", s: \"maximum-profit-of-operating-a-centennial-wheel\" },\n { n: 1600, t: \"Throne Inheritance\", d: \"Medium\", s: \"throne-inheritance\" },\n { n: 1601, t: \"Maximum Number of Achievable Transfer Requests\", d: \"Hard\", s: \"maximum-number-of-achievable-transfer-requests\" },\n { n: 1602, t: \"Find Nearest Right Node in Binary Tree\", d: \"Medium\", s: \"find-nearest-right-node-in-binary-tree\" },\n { n: 1603, t: \"Design Parking System\", d: \"Easy\", s: \"design-parking-system\" },\n { n: 1604, t: \"Alert Using Same Key-Card Three or More Times in a One Hour Period\", d: \"Medium\", s: \"alert-using-same-key-card-three-or-more-times-in-a-one-hour-period\" },\n { n: 1605, t: \"Find Valid Matrix Given Row and Column Sums\", d: \"Medium\", s: \"find-valid-matrix-given-row-and-column-sums\" },\n { n: 1606, t: \"Find Servers That Handled Most Number of Requests\", d: \"Hard\", s: \"find-servers-that-handled-most-number-of-requests\" },\n { n: 1607, t: \"Sellers With No Sales\", d: \"Easy\", s: \"sellers-with-no-sales\" },\n { n: 1608, t: \"Special Array With X Elements Greater Than or Equal X\", d: \"Easy\", s: \"special-array-with-x-elements-greater-than-or-equal-x\" },\n { n: 1609, t: \"Even Odd Tree\", d: \"Medium\", s: \"even-odd-tree\" },\n { n: 1610, t: \"Maximum Number of Visible Points\", d: \"Hard\", s: \"maximum-number-of-visible-points\" },\n { n: 1611, t: \"Minimum One Bit Operations to Make Integers Zero\", d: \"Hard\", s: \"minimum-one-bit-operations-to-make-integers-zero\" },\n { n: 1612, t: \"Check If Two Expression Trees are Equivalent\", d: \"Medium\", s: \"check-if-two-expression-trees-are-equivalent\" },\n { n: 1613, t: \"Find the Missing IDs\", d: \"Medium\", s: \"find-the-missing-ids\" },\n { n: 1614, t: \"Maximum Nesting Depth of the Parentheses\", d: \"Easy\", s: \"maximum-nesting-depth-of-the-parentheses\" },\n { n: 1615, t: \"Maximal Network Rank\", d: \"Medium\", s: \"maximal-network-rank\" },\n { n: 1616, t: \"Split Two Strings to Make Palindrome\", d: \"Medium\", s: \"split-two-strings-to-make-palindrome\" },\n { n: 1617, t: \"Count Subtrees With Max Distance Between Cities\", d: \"Hard\", s: \"count-subtrees-with-max-distance-between-cities\" },\n { n: 1618, t: \"Maximum Font to Fit a Sentence in a Screen\", d: \"Medium\", s: \"maximum-font-to-fit-a-sentence-in-a-screen\" },\n { n: 1619, t: \"Mean of Array After Removing Some Elements\", d: \"Easy\", s: \"mean-of-array-after-removing-some-elements\" },\n { n: 1620, t: \"Coordinate With Maximum Network Quality\", d: \"Medium\", s: \"coordinate-with-maximum-network-quality\" },\n { n: 1621, t: \"Number of Sets of K Non-Overlapping Line Segments\", d: \"Medium\", s: \"number-of-sets-of-k-non-overlapping-line-segments\" },\n { n: 1622, t: \"Fancy Sequence\", d: \"Hard\", s: \"fancy-sequence\" },\n { n: 1623, t: \"All Valid Triplets That Can Represent a Country\", d: \"Easy\", s: \"all-valid-triplets-that-can-represent-a-country\" },\n { n: 1624, t: \"Largest Substring Between Two Equal Characters\", d: \"Easy\", s: \"largest-substring-between-two-equal-characters\" },\n { n: 1625, t: \"Lexicographically Smallest String After Applying Operations\", d: \"Medium\", s: \"lexicographically-smallest-string-after-applying-operations\" },\n { n: 1626, t: \"Best Team With No Conflicts\", d: \"Medium\", s: \"best-team-with-no-conflicts\" },\n { n: 1627, t: \"Graph Connectivity With Threshold\", d: \"Hard\", s: \"graph-connectivity-with-threshold\" },\n { n: 1628, t: \"Design an Expression Tree With Evaluate Function\", d: \"Medium\", s: \"design-an-expression-tree-with-evaluate-function\" },\n { n: 1629, t: \"Slowest Key\", d: \"Easy\", s: \"slowest-key\" },\n { n: 1630, t: \"Arithmetic Subarrays\", d: \"Medium\", s: \"arithmetic-subarrays\" },\n { n: 1631, t: \"Path With Minimum Effort\", d: \"Medium\", s: \"path-with-minimum-effort\" },\n { n: 1632, t: \"Rank Transform of a Matrix\", d: \"Hard\", s: \"rank-transform-of-a-matrix\" },\n { n: 1633, t: \"Percentage of Users Attended a Contest\", d: \"Easy\", s: \"percentage-of-users-attended-a-contest\" },\n { n: 1634, t: \"Add Two Polynomials Represented as Linked Lists\", d: \"Medium\", s: \"add-two-polynomials-represented-as-linked-lists\" },\n { n: 1635, t: \"Hopper Company Queries I\", d: \"Hard\", s: \"hopper-company-queries-i\" },\n { n: 1636, t: \"Sort Array by Increasing Frequency\", d: \"Easy\", s: \"sort-array-by-increasing-frequency\" },\n { n: 1637, t: \"Widest Vertical Area Between Two Points Containing No Points\", d: \"Easy\", s: \"widest-vertical-area-between-two-points-containing-no-points\" },\n { n: 1638, t: \"Count Substrings That Differ by One Character\", d: \"Medium\", s: \"count-substrings-that-differ-by-one-character\" },\n { n: 1639, t: \"Number of Ways to Form a Target String Given a Dictionary\", d: \"Hard\", s: \"number-of-ways-to-form-a-target-string-given-a-dictionary\" },\n { n: 1640, t: \"Check Array Formation Through Concatenation\", d: \"Easy\", s: \"check-array-formation-through-concatenation\" },\n { n: 1641, t: \"Count Sorted Vowel Strings\", d: \"Medium\", s: \"count-sorted-vowel-strings\" },\n { n: 1642, t: \"Furthest Building You Can Reach\", d: \"Medium\", s: \"furthest-building-you-can-reach\" },\n { n: 1643, t: \"Kth Smallest Instructions\", d: \"Hard\", s: \"kth-smallest-instructions\" },\n { n: 1644, t: \"Lowest Common Ancestor of a Binary Tree II\", d: \"Medium\", s: \"lowest-common-ancestor-of-a-binary-tree-ii\" },\n { n: 1645, t: \"Hopper Company Queries II\", d: \"Hard\", s: \"hopper-company-queries-ii\" },\n { n: 1646, t: \"Get Maximum in Generated Array\", d: \"Easy\", s: \"get-maximum-in-generated-array\" },\n { n: 1647, t: \"Minimum Deletions to Make Character Frequencies Unique\", d: \"Medium\", s: \"minimum-deletions-to-make-character-frequencies-unique\" },\n { n: 1648, t: \"Sell Diminishing-Valued Colored Balls\", d: \"Medium\", s: \"sell-diminishing-valued-colored-balls\" },\n { n: 1649, t: \"Create Sorted Array through Instructions\", d: \"Hard\", s: \"create-sorted-array-through-instructions\" },\n { n: 1650, t: \"Lowest Common Ancestor of a Binary Tree III\", d: \"Medium\", s: \"lowest-common-ancestor-of-a-binary-tree-iii\" },\n { n: 1651, t: \"Hopper Company Queries III\", d: \"Hard\", s: \"hopper-company-queries-iii\" },\n { n: 1652, t: \"Defuse the Bomb\", d: \"Easy\", s: \"defuse-the-bomb\" },\n { n: 1653, t: \"Minimum Deletions to Make String Balanced\", d: \"Medium\", s: \"minimum-deletions-to-make-string-balanced\" },\n { n: 1654, t: \"Minimum Jumps to Reach Home\", d: \"Medium\", s: \"minimum-jumps-to-reach-home\" },\n { n: 1655, t: \"Distribute Repeating Integers\", d: \"Hard\", s: \"distribute-repeating-integers\" },\n { n: 1656, t: \"Design an Ordered Stream\", d: \"Easy\", s: \"design-an-ordered-stream\" },\n { n: 1657, t: \"Determine if Two Strings Are Close\", d: \"Medium\", s: \"determine-if-two-strings-are-close\" },\n { n: 1658, t: \"Minimum Operations to Reduce X to Zero\", d: \"Medium\", s: \"minimum-operations-to-reduce-x-to-zero\" },\n { n: 1659, t: \"Maximize Grid Happiness\", d: \"Hard\", s: \"maximize-grid-happiness\" },\n { n: 1660, t: \"Correct a Binary Tree\", d: \"Medium\", s: \"correct-a-binary-tree\" },\n { n: 1661, t: \"Average Time of Process per Machine\", d: \"Easy\", s: \"average-time-of-process-per-machine\" },\n { n: 1662, t: \"Check If Two String Arrays are Equivalent\", d: \"Easy\", s: \"check-if-two-string-arrays-are-equivalent\" },\n { n: 1663, t: \"Smallest String With A Given Numeric Value\", d: \"Medium\", s: \"smallest-string-with-a-given-numeric-value\" },\n { n: 1664, t: \"Ways to Make a Fair Array\", d: \"Medium\", s: \"ways-to-make-a-fair-array\" },\n { n: 1665, t: \"Minimum Initial Energy to Finish Tasks\", d: \"Hard\", s: \"minimum-initial-energy-to-finish-tasks\" },\n { n: 1666, t: \"Change the Root of a Binary Tree\", d: \"Medium\", s: \"change-the-root-of-a-binary-tree\" },\n { n: 1667, t: \"Fix Names in a Table\", d: \"Easy\", s: \"fix-names-in-a-table\" },\n { n: 1668, t: \"Maximum Repeating Substring\", d: \"Easy\", s: \"maximum-repeating-substring\" },\n { n: 1669, t: \"Merge In Between Linked Lists\", d: \"Medium\", s: \"merge-in-between-linked-lists\" },\n { n: 1670, t: \"Design Front Middle Back Queue\", d: \"Medium\", s: \"design-front-middle-back-queue\" },\n { n: 1671, t: \"Minimum Number of Removals to Make Mountain Array\", d: \"Hard\", s: \"minimum-number-of-removals-to-make-mountain-array\" },\n { n: 1672, t: \"Richest Customer Wealth\", d: \"Easy\", s: \"richest-customer-wealth\" },\n { n: 1673, t: \"Find the Most Competitive Subsequence\", d: \"Medium\", s: \"find-the-most-competitive-subsequence\" },\n { n: 1674, t: \"Minimum Moves to Make Array Complementary\", d: \"Medium\", s: \"minimum-moves-to-make-array-complementary\" },\n { n: 1675, t: \"Minimize Deviation in Array\", d: \"Hard\", s: \"minimize-deviation-in-array\" },\n { n: 1676, t: \"Lowest Common Ancestor of a Binary Tree IV\", d: \"Medium\", s: \"lowest-common-ancestor-of-a-binary-tree-iv\" },\n { n: 1677, t: \"Product\\'s Worth Over Invoices\", d: \"Easy\", s: \"products-worth-over-invoices\" },\n { n: 1678, t: \"Goal Parser Interpretation\", d: \"Easy\", s: \"goal-parser-interpretation\" },\n { n: 1679, t: \"Max Number of K-Sum Pairs\", d: \"Medium\", s: \"max-number-of-k-sum-pairs\" },\n { n: 1680, t: \"Concatenation of Consecutive Binary Numbers\", d: \"Medium\", s: \"concatenation-of-consecutive-binary-numbers\" },\n { n: 1681, t: \"Minimum Incompatibility\", d: \"Hard\", s: \"minimum-incompatibility\" },\n { n: 1682, t: \"Longest Palindromic Subsequence II\", d: \"Medium\", s: \"longest-palindromic-subsequence-ii\" },\n { n: 1683, t: \"Invalid Tweets\", d: \"Easy\", s: \"invalid-tweets\" },\n { n: 1684, t: \"Count the Number of Consistent Strings\", d: \"Easy\", s: \"count-the-number-of-consistent-strings\" },\n { n: 1685, t: \"Sum of Absolute Differences in a Sorted Array\", d: \"Medium\", s: \"sum-of-absolute-differences-in-a-sorted-array\" },\n { n: 1686, t: \"Stone Game VI\", d: \"Medium\", s: \"stone-game-vi\" },\n { n: 1687, t: \"Delivering Boxes from Storage to Ports\", d: \"Hard\", s: \"delivering-boxes-from-storage-to-ports\" },\n { n: 1688, t: \"Count of Matches in Tournament\", d: \"Easy\", s: \"count-of-matches-in-tournament\" },\n { n: 1689, t: \"Partitioning Into Minimum Number Of Deci-Binary Numbers\", d: \"Medium\", s: \"partitioning-into-minimum-number-of-deci-binary-numbers\" },\n { n: 1690, t: \"Stone Game VII\", d: \"Medium\", s: \"stone-game-vii\" },\n { n: 1691, t: \"Maximum Height by Stacking Cuboids\", d: \"Hard\", s: \"maximum-height-by-stacking-cuboids\" },\n { n: 1692, t: \"Count Ways to Distribute Candies\", d: \"Hard\", s: \"count-ways-to-distribute-candies\" },\n { n: 1693, t: \"Daily Leads and Partners\", d: \"Easy\", s: \"daily-leads-and-partners\" },\n { n: 1694, t: \"Reformat Phone Number\", d: \"Easy\", s: \"reformat-phone-number\" },\n { n: 1695, t: \"Maximum Erasure Value\", d: \"Medium\", s: \"maximum-erasure-value\" },\n { n: 1696, t: \"Jump Game VI\", d: \"Medium\", s: \"jump-game-vi\" },\n { n: 1697, t: \"Checking Existence of Edge Length Limited Paths\", d: \"Hard\", s: \"checking-existence-of-edge-length-limited-paths\" },\n { n: 1698, t: \"Number of Distinct Substrings in a String\", d: \"Medium\", s: \"number-of-distinct-substrings-in-a-string\" },\n { n: 1699, t: \"Number of Calls Between Two Persons\", d: \"Medium\", s: \"number-of-calls-between-two-persons\" },\n { n: 1700, t: \"Number of Students Unable to Eat Lunch\", d: \"Easy\", s: \"number-of-students-unable-to-eat-lunch\" },\n { n: 1701, t: \"Average Waiting Time\", d: \"Medium\", s: \"average-waiting-time\" },\n { n: 1702, t: \"Maximum Binary String After Change\", d: \"Medium\", s: \"maximum-binary-string-after-change\" },\n { n: 1703, t: \"Minimum Adjacent Swaps for K Consecutive Ones\", d: \"Hard\", s: \"minimum-adjacent-swaps-for-k-consecutive-ones\" },\n { n: 1704, t: \"Determine if String Halves Are Alike\", d: \"Easy\", s: \"determine-if-string-halves-are-alike\" },\n { n: 1705, t: \"Maximum Number of Eaten Apples\", d: \"Medium\", s: \"maximum-number-of-eaten-apples\" },\n { n: 1706, t: \"Where Will the Ball Fall\", d: \"Medium\", s: \"where-will-the-ball-fall\" },\n { n: 1707, t: \"Maximum XOR With an Element From Array\", d: \"Hard\", s: \"maximum-xor-with-an-element-from-array\" },\n { n: 1708, t: \"Largest Subarray Length K\", d: \"Easy\", s: \"largest-subarray-length-k\" },\n { n: 1709, t: \"Biggest Window Between Visits\", d: \"Medium\", s: \"biggest-window-between-visits\" },\n { n: 1710, t: \"Maximum Units on a Truck\", d: \"Easy\", s: \"maximum-units-on-a-truck\" },\n { n: 1711, t: \"Count Good Meals\", d: \"Medium\", s: \"count-good-meals\" },\n { n: 1712, t: \"Ways to Split Array Into Three Subarrays\", d: \"Medium\", s: \"ways-to-split-array-into-three-subarrays\" },\n { n: 1713, t: \"Minimum Operations to Make a Subsequence\", d: \"Hard\", s: \"minimum-operations-to-make-a-subsequence\" },\n { n: 1714, t: \"Sum Of Special Evenly-Spaced Elements In Array\", d: \"Hard\", s: \"sum-of-special-evenly-spaced-elements-in-array\" },\n { n: 1715, t: \"Count Apples and Oranges\", d: \"Medium\", s: \"count-apples-and-oranges\" },\n { n: 1716, t: \"Calculate Money in Leetcode Bank\", d: \"Easy\", s: \"calculate-money-in-leetcode-bank\" },\n { n: 1717, t: \"Maximum Score From Removing Substrings\", d: \"Medium\", s: \"maximum-score-from-removing-substrings\" },\n { n: 1718, t: \"Construct the Lexicographically Largest Valid Sequence\", d: \"Medium\", s: \"construct-the-lexicographically-largest-valid-sequence\" },\n { n: 1719, t: \"Number Of Ways To Reconstruct A Tree\", d: \"Hard\", s: \"number-of-ways-to-reconstruct-a-tree\" },\n { n: 1720, t: \"Decode XORed Array\", d: \"Easy\", s: \"decode-xored-array\" },\n { n: 1721, t: \"Swapping Nodes in a Linked List\", d: \"Medium\", s: \"swapping-nodes-in-a-linked-list\" },\n { n: 1722, t: \"Minimize Hamming Distance After Swap Operations\", d: \"Medium\", s: \"minimize-hamming-distance-after-swap-operations\" },\n { n: 1723, t: \"Find Minimum Time to Finish All Jobs\", d: \"Hard\", s: \"find-minimum-time-to-finish-all-jobs\" },\n { n: 1724, t: \"Checking Existence of Edge Length Limited Paths II\", d: \"Hard\", s: \"checking-existence-of-edge-length-limited-paths-ii\" },\n { n: 1725, t: \"Number Of Rectangles That Can Form The Largest Square\", d: \"Easy\", s: \"number-of-rectangles-that-can-form-the-largest-square\" },\n { n: 1726, t: \"Tuple with Same Product\", d: \"Medium\", s: \"tuple-with-same-product\" },\n { n: 1727, t: \"Largest Submatrix With Rearrangements\", d: \"Medium\", s: \"largest-submatrix-with-rearrangements\" },\n { n: 1728, t: \"Cat and Mouse II\", d: \"Hard\", s: \"cat-and-mouse-ii\" },\n { n: 1729, t: \"Find Followers Count\", d: \"Easy\", s: \"find-followers-count\" },\n { n: 1730, t: \"Shortest Path to Get Food\", d: \"Medium\", s: \"shortest-path-to-get-food\" },\n { n: 1731, t: \"The Number of Employees Which Report to Each Employee\", d: \"Easy\", s: \"the-number-of-employees-which-report-to-each-employee\" },\n { n: 1732, t: \"Find the Highest Altitude\", d: \"Easy\", s: \"find-the-highest-altitude\" },\n { n: 1733, t: \"Minimum Number of People to Teach\", d: \"Medium\", s: \"minimum-number-of-people-to-teach\" },\n { n: 1734, t: \"Decode XORed Permutation\", d: \"Medium\", s: \"decode-xored-permutation\" },\n { n: 1735, t: \"Count Ways to Make Array With Product\", d: \"Hard\", s: \"count-ways-to-make-array-with-product\" },\n { n: 1736, t: \"Latest Time by Replacing Hidden Digits\", d: \"Easy\", s: \"latest-time-by-replacing-hidden-digits\" },\n { n: 1737, t: \"Change Minimum Characters to Satisfy One of Three Conditions\", d: \"Medium\", s: \"change-minimum-characters-to-satisfy-one-of-three-conditions\" },\n { n: 1738, t: \"Find Kth Largest XOR Coordinate Value\", d: \"Medium\", s: \"find-kth-largest-xor-coordinate-value\" },\n { n: 1739, t: \"Building Boxes\", d: \"Hard\", s: \"building-boxes\" },\n { n: 1740, t: \"Find Distance in a Binary Tree\", d: \"Medium\", s: \"find-distance-in-a-binary-tree\" },\n { n: 1741, t: \"Find Total Time Spent by Each Employee\", d: \"Easy\", s: \"find-total-time-spent-by-each-employee\" },\n { n: 1742, t: \"Maximum Number of Balls in a Box\", d: \"Easy\", s: \"maximum-number-of-balls-in-a-box\" },\n { n: 1743, t: \"Restore the Array From Adjacent Pairs\", d: \"Medium\", s: \"restore-the-array-from-adjacent-pairs\" },\n { n: 1744, t: \"Can You Eat Your Favorite Candy on Your Favorite Day?\", d: \"Medium\", s: \"can-you-eat-your-favorite-candy-on-your-favorite-day\" },\n { n: 1745, t: \"Palindrome Partitioning IV\", d: \"Hard\", s: \"palindrome-partitioning-iv\" },\n { n: 1746, t: \"Maximum Subarray Sum After One Operation\", d: \"Medium\", s: \"maximum-subarray-sum-after-one-operation\" },\n { n: 1747, t: \"Leetflex Banned Accounts\", d: \"Medium\", s: \"leetflex-banned-accounts\" },\n { n: 1748, t: \"Sum of Unique Elements\", d: \"Easy\", s: \"sum-of-unique-elements\" },\n { n: 1749, t: \"Maximum Absolute Sum of Any Subarray\", d: \"Medium\", s: \"maximum-absolute-sum-of-any-subarray\" },\n { n: 1750, t: \"Minimum Length of String After Deleting Similar Ends\", d: \"Medium\", s: \"minimum-length-of-string-after-deleting-similar-ends\" },\n { n: 1751, t: \"Maximum Number of Events That Can Be Attended II\", d: \"Hard\", s: \"maximum-number-of-events-that-can-be-attended-ii\" },\n { n: 1752, t: \"Check if Array Is Sorted and Rotated\", d: \"Easy\", s: \"check-if-array-is-sorted-and-rotated\" },\n { n: 1753, t: \"Maximum Score From Removing Stones\", d: \"Medium\", s: \"maximum-score-from-removing-stones\" },\n { n: 1754, t: \"Largest Merge Of Two Strings\", d: \"Medium\", s: \"largest-merge-of-two-strings\" },\n { n: 1755, t: \"Closest Subsequence Sum\", d: \"Hard\", s: \"closest-subsequence-sum\" },\n { n: 1756, t: \"Design Most Recently Used Queue\", d: \"Medium\", s: \"design-most-recently-used-queue\" },\n { n: 1757, t: \"Recyclable and Low Fat Products\", d: \"Easy\", s: \"recyclable-and-low-fat-products\" },\n { n: 1758, t: \"Minimum Changes To Make Alternating Binary String\", d: \"Easy\", s: \"minimum-changes-to-make-alternating-binary-string\" },\n { n: 1759, t: \"Count Number of Homogenous Substrings\", d: \"Medium\", s: \"count-number-of-homogenous-substrings\" },\n { n: 1760, t: \"Minimum Limit of Balls in a Bag\", d: \"Medium\", s: \"minimum-limit-of-balls-in-a-bag\" },\n { n: 1761, t: \"Minimum Degree of a Connected Trio in a Graph\", d: \"Hard\", s: \"minimum-degree-of-a-connected-trio-in-a-graph\" },\n { n: 1762, t: \"Buildings With an Ocean View\", d: \"Medium\", s: \"buildings-with-an-ocean-view\" },\n { n: 1763, t: \"Longest Nice Substring\", d: \"Easy\", s: \"longest-nice-substring\" },\n { n: 1764, t: \"Form Array by Concatenating Subarrays of Another Array\", d: \"Medium\", s: \"form-array-by-concatenating-subarrays-of-another-array\" },\n { n: 1765, t: \"Map of Highest Peak\", d: \"Medium\", s: \"map-of-highest-peak\" },\n { n: 1766, t: \"Tree of Coprimes\", d: \"Hard\", s: \"tree-of-coprimes\" },\n { n: 1767, t: \"Find the Subtasks That Did Not Execute\", d: \"Hard\", s: \"find-the-subtasks-that-did-not-execute\" },\n { n: 1768, t: \"Merge Strings Alternately\", d: \"Easy\", s: \"merge-strings-alternately\" },\n { n: 1769, t: \"Minimum Number of Operations to Move All Balls to Each Box\", d: \"Medium\", s: \"minimum-number-of-operations-to-move-all-balls-to-each-box\" },\n { n: 1770, t: \"Maximum Score from Performing Multiplication Operations\", d: \"Hard\", s: \"maximum-score-from-performing-multiplication-operations\" },\n { n: 1771, t: \"Maximize Palindrome Length From Subsequences\", d: \"Hard\", s: \"maximize-palindrome-length-from-subsequences\" },\n { n: 1772, t: \"Sort Features by Popularity\", d: \"Medium\", s: \"sort-features-by-popularity\" },\n { n: 1773, t: \"Count Items Matching a Rule\", d: \"Easy\", s: \"count-items-matching-a-rule\" },\n { n: 1774, t: \"Closest Dessert Cost\", d: \"Medium\", s: \"closest-dessert-cost\" },\n { n: 1775, t: \"Equal Sum Arrays With Minimum Number of Operations\", d: \"Medium\", s: \"equal-sum-arrays-with-minimum-number-of-operations\" },\n { n: 1776, t: \"Car Fleet II\", d: \"Hard\", s: \"car-fleet-ii\" },\n { n: 1777, t: \"Product\\'s Price for Each Store\", d: \"Easy\", s: \"products-price-for-each-store\" },\n { n: 1778, t: \"Shortest Path in a Hidden Grid\", d: \"Medium\", s: \"shortest-path-in-a-hidden-grid\" },\n { n: 1779, t: \"Find Nearest Point That Has the Same X or Y Coordinate\", d: \"Easy\", s: \"find-nearest-point-that-has-the-same-x-or-y-coordinate\" },\n { n: 1780, t: \"Check if Number is a Sum of Powers of Three\", d: \"Medium\", s: \"check-if-number-is-a-sum-of-powers-of-three\" },\n { n: 1781, t: \"Sum of Beauty of All Substrings\", d: \"Medium\", s: \"sum-of-beauty-of-all-substrings\" },\n { n: 1782, t: \"Count Pairs Of Nodes\", d: \"Hard\", s: \"count-pairs-of-nodes\" },\n { n: 1783, t: \"Grand Slam Titles\", d: \"Medium\", s: \"grand-slam-titles\" },\n { n: 1784, t: \"Check if Binary String Has at Most One Segment of Ones\", d: \"Easy\", s: \"check-if-binary-string-has-at-most-one-segment-of-ones\" },\n { n: 1785, t: \"Minimum Elements to Add to Form a Given Sum\", d: \"Medium\", s: \"minimum-elements-to-add-to-form-a-given-sum\" },\n { n: 1786, t: \"Number of Restricted Paths From First to Last Node\", d: \"Medium\", s: \"number-of-restricted-paths-from-first-to-last-node\" },\n { n: 1787, t: \"Make the XOR of All Segments Equal to Zero\", d: \"Hard\", s: \"make-the-xor-of-all-segments-equal-to-zero\" },\n { n: 1788, t: \"Maximize the Beauty of the Garden\", d: \"Hard\", s: \"maximize-the-beauty-of-the-garden\" },\n { n: 1789, t: \"Primary Department for Each Employee\", d: \"Easy\", s: \"primary-department-for-each-employee\" },\n { n: 1790, t: \"Check if One String Swap Can Make Strings Equal\", d: \"Easy\", s: \"check-if-one-string-swap-can-make-strings-equal\" },\n { n: 1791, t: \"Find Center of Star Graph\", d: \"Easy\", s: \"find-center-of-star-graph\" },\n { n: 1792, t: \"Maximum Average Pass Ratio\", d: \"Medium\", s: \"maximum-average-pass-ratio\" },\n { n: 1793, t: \"Maximum Score of a Good Subarray\", d: \"Hard\", s: \"maximum-score-of-a-good-subarray\" },\n { n: 1794, t: \"Count Pairs of Equal Substrings With Minimum Difference\", d: \"Medium\", s: \"count-pairs-of-equal-substrings-with-minimum-difference\" },\n { n: 1795, t: \"Rearrange Products Table\", d: \"Easy\", s: \"rearrange-products-table\" },\n { n: 1796, t: \"Second Largest Digit in a String\", d: \"Easy\", s: \"second-largest-digit-in-a-string\" },\n { n: 1797, t: \"Design Authentication Manager\", d: \"Medium\", s: \"design-authentication-manager\" },\n { n: 1798, t: \"Maximum Number of Consecutive Values You Can Make\", d: \"Medium\", s: \"maximum-number-of-consecutive-values-you-can-make\" },\n { n: 1799, t: \"Maximize Score After N Operations\", d: \"Hard\", s: \"maximize-score-after-n-operations\" },\n { n: 1800, t: \"Maximum Ascending Subarray Sum\", d: \"Easy\", s: \"maximum-ascending-subarray-sum\" },\n { n: 1801, t: \"Number of Orders in the Backlog\", d: \"Medium\", s: \"number-of-orders-in-the-backlog\" },\n { n: 1802, t: \"Maximum Value at a Given Index in a Bounded Array\", d: \"Medium\", s: \"maximum-value-at-a-given-index-in-a-bounded-array\" },\n { n: 1803, t: \"Count Pairs With XOR in a Range\", d: \"Hard\", s: \"count-pairs-with-xor-in-a-range\" },\n { n: 1804, t: \"Implement Trie II (Prefix Tree)\", d: \"Medium\", s: \"implement-trie-ii-prefix-tree\" },\n { n: 1805, t: \"Number of Different Integers in a String\", d: \"Easy\", s: \"number-of-different-integers-in-a-string\" },\n { n: 1806, t: \"Minimum Number of Operations to Reinitialize a Permutation\", d: \"Medium\", s: \"minimum-number-of-operations-to-reinitialize-a-permutation\" },\n { n: 1807, t: \"Evaluate the Bracket Pairs of a String\", d: \"Medium\", s: \"evaluate-the-bracket-pairs-of-a-string\" },\n { n: 1808, t: \"Maximize Number of Nice Divisors\", d: \"Hard\", s: \"maximize-number-of-nice-divisors\" },\n { n: 1809, t: \"Ad-Free Sessions\", d: \"Easy\", s: \"ad-free-sessions\" },\n { n: 1810, t: \"Minimum Path Cost in a Hidden Grid\", d: \"Medium\", s: \"minimum-path-cost-in-a-hidden-grid\" },\n { n: 1811, t: \"Find Interview Candidates\", d: \"Medium\", s: \"find-interview-candidates\" },\n { n: 1812, t: \"Determine Color of a Chessboard Square\", d: \"Easy\", s: \"determine-color-of-a-chessboard-square\" },\n { n: 1813, t: \"Sentence Similarity III\", d: \"Medium\", s: \"sentence-similarity-iii\" },\n { n: 1814, t: \"Count Nice Pairs in an Array\", d: \"Medium\", s: \"count-nice-pairs-in-an-array\" },\n { n: 1815, t: \"Maximum Number of Groups Getting Fresh Donuts\", d: \"Hard\", s: \"maximum-number-of-groups-getting-fresh-donuts\" },\n { n: 1816, t: \"Truncate Sentence\", d: \"Easy\", s: \"truncate-sentence\" },\n { n: 1817, t: \"Finding the Users Active Minutes\", d: \"Medium\", s: \"finding-the-users-active-minutes\" },\n { n: 1818, t: \"Minimum Absolute Sum Difference\", d: \"Medium\", s: \"minimum-absolute-sum-difference\" },\n { n: 1819, t: \"Number of Different Subsequences GCDs\", d: \"Hard\", s: \"number-of-different-subsequences-gcds\" },\n { n: 1820, t: \"Maximum Number of Accepted Invitations\", d: \"Medium\", s: \"maximum-number-of-accepted-invitations\" },\n { n: 1821, t: \"Find Customers With Positive Revenue this Year\", d: \"Easy\", s: \"find-customers-with-positive-revenue-this-year\" },\n { n: 1822, t: \"Sign of the Product of an Array\", d: \"Easy\", s: \"sign-of-the-product-of-an-array\" },\n { n: 1823, t: \"Find the Winner of the Circular Game\", d: \"Medium\", s: \"find-the-winner-of-the-circular-game\" },\n { n: 1824, t: \"Minimum Sideway Jumps\", d: \"Medium\", s: \"minimum-sideway-jumps\" },\n { n: 1825, t: \"Finding MK Average\", d: \"Hard\", s: \"finding-mk-average\" },\n { n: 1826, t: \"Faulty Sensor\", d: \"Easy\", s: \"faulty-sensor\" },\n { n: 1827, t: \"Minimum Operations to Make the Array Increasing\", d: \"Easy\", s: \"minimum-operations-to-make-the-array-increasing\" },\n { n: 1828, t: \"Queries on Number of Points Inside a Circle\", d: \"Medium\", s: \"queries-on-number-of-points-inside-a-circle\" },\n { n: 1829, t: \"Maximum XOR for Each Query\", d: \"Medium\", s: \"maximum-xor-for-each-query\" },\n { n: 1830, t: \"Minimum Number of Operations to Make String Sorted\", d: \"Hard\", s: \"minimum-number-of-operations-to-make-string-sorted\" },\n { n: 1831, t: \"Maximum Transaction Each Day\", d: \"Medium\", s: \"maximum-transaction-each-day\" },\n { n: 1832, t: \"Check if the Sentence Is Pangram\", d: \"Easy\", s: \"check-if-the-sentence-is-pangram\" },\n { n: 1833, t: \"Maximum Ice Cream Bars\", d: \"Medium\", s: \"maximum-ice-cream-bars\" },\n { n: 1834, t: \"Single-Threaded CPU\", d: \"Medium\", s: \"single-threaded-cpu\" },\n { n: 1835, t: \"Find XOR Sum of All Pairs Bitwise AND\", d: \"Hard\", s: \"find-xor-sum-of-all-pairs-bitwise-and\" },\n { n: 1836, t: \"Remove Duplicates From an Unsorted Linked List\", d: \"Medium\", s: \"remove-duplicates-from-an-unsorted-linked-list\" },\n { n: 1837, t: \"Sum of Digits in Base K\", d: \"Easy\", s: \"sum-of-digits-in-base-k\" },\n { n: 1838, t: \"Frequency of the Most Frequent Element\", d: \"Medium\", s: \"frequency-of-the-most-frequent-element\" },\n { n: 1839, t: \"Longest Substring Of All Vowels in Order\", d: \"Medium\", s: \"longest-substring-of-all-vowels-in-order\" },\n { n: 1840, t: \"Maximum Building Height\", d: \"Hard\", s: \"maximum-building-height\" },\n { n: 1841, t: \"League Statistics\", d: \"Medium\", s: \"league-statistics\" },\n { n: 1842, t: \"Next Palindrome Using Same Digits\", d: \"Hard\", s: \"next-palindrome-using-same-digits\" },\n { n: 1843, t: \"Suspicious Bank Accounts\", d: \"Medium\", s: \"suspicious-bank-accounts\" },\n { n: 1844, t: \"Replace All Digits with Characters\", d: \"Easy\", s: \"replace-all-digits-with-characters\" },\n { n: 1845, t: \"Seat Reservation Manager\", d: \"Medium\", s: \"seat-reservation-manager\" },\n { n: 1846, t: \"Maximum Element After Decreasing and Rearranging\", d: \"Medium\", s: \"maximum-element-after-decreasing-and-rearranging\" },\n { n: 1847, t: \"Closest Room\", d: \"Hard\", s: \"closest-room\" },\n { n: 1848, t: \"Minimum Distance to the Target Element\", d: \"Easy\", s: \"minimum-distance-to-the-target-element\" },\n { n: 1849, t: \"Splitting a String Into Descending Consecutive Values\", d: \"Medium\", s: \"splitting-a-string-into-descending-consecutive-values\" },\n { n: 1850, t: \"Minimum Adjacent Swaps to Reach the Kth Smallest Number\", d: \"Medium\", s: \"minimum-adjacent-swaps-to-reach-the-kth-smallest-number\" },\n { n: 1851, t: \"Minimum Interval to Include Each Query\", d: \"Hard\", s: \"minimum-interval-to-include-each-query\" },\n { n: 1852, t: \"Distinct Numbers in Each Subarray\", d: \"Medium\", s: \"distinct-numbers-in-each-subarray\" },\n { n: 1853, t: \"Convert Date Format\", d: \"Easy\", s: \"convert-date-format\" },\n { n: 1854, t: \"Maximum Population Year\", d: \"Easy\", s: \"maximum-population-year\" },\n { n: 1855, t: \"Maximum Distance Between a Pair of Values\", d: \"Medium\", s: \"maximum-distance-between-a-pair-of-values\" },\n { n: 1856, t: \"Maximum Subarray Min-Product\", d: \"Medium\", s: \"maximum-subarray-min-product\" },\n { n: 1857, t: \"Largest Color Value in a Directed Graph\", d: \"Hard\", s: \"largest-color-value-in-a-directed-graph\" },\n { n: 1858, t: \"Longest Word With All Prefixes\", d: \"Medium\", s: \"longest-word-with-all-prefixes\" },\n { n: 1859, t: \"Sorting the Sentence\", d: \"Easy\", s: \"sorting-the-sentence\" },\n { n: 1860, t: \"Incremental Memory Leak\", d: \"Medium\", s: \"incremental-memory-leak\" },\n { n: 1861, t: \"Rotating the Box\", d: \"Medium\", s: \"rotating-the-box\" },\n { n: 1862, t: \"Sum of Floored Pairs\", d: \"Hard\", s: \"sum-of-floored-pairs\" },\n { n: 1863, t: \"Sum of All Subset XOR Totals\", d: \"Easy\", s: \"sum-of-all-subset-xor-totals\" },\n { n: 1864, t: \"Minimum Number of Swaps to Make the Binary String Alternating\", d: \"Medium\", s: \"minimum-number-of-swaps-to-make-the-binary-string-alternating\" },\n { n: 1865, t: \"Finding Pairs With a Certain Sum\", d: \"Medium\", s: \"finding-pairs-with-a-certain-sum\" },\n { n: 1866, t: \"Number of Ways to Rearrange Sticks With K Sticks Visible\", d: \"Hard\", s: \"number-of-ways-to-rearrange-sticks-with-k-sticks-visible\" },\n { n: 1867, t: \"Orders With Maximum Quantity Above Average\", d: \"Medium\", s: \"orders-with-maximum-quantity-above-average\" },\n { n: 1868, t: \"Product of Two Run-Length Encoded Arrays\", d: \"Medium\", s: \"product-of-two-run-length-encoded-arrays\" },\n { n: 1869, t: \"Longer Contiguous Segments of Ones than Zeros\", d: \"Easy\", s: \"longer-contiguous-segments-of-ones-than-zeros\" },\n { n: 1870, t: \"Minimum Speed to Arrive on Time\", d: \"Medium\", s: \"minimum-speed-to-arrive-on-time\" },\n { n: 1871, t: \"Jump Game VII\", d: \"Medium\", s: \"jump-game-vii\" },\n { n: 1872, t: \"Stone Game VIII\", d: \"Hard\", s: \"stone-game-viii\" },\n { n: 1873, t: \"Calculate Special Bonus\", d: \"Easy\", s: \"calculate-special-bonus\" },\n { n: 1874, t: \"Minimize Product Sum of Two Arrays\", d: \"Medium\", s: \"minimize-product-sum-of-two-arrays\" },\n { n: 1875, t: \"Group Employees of the Same Salary\", d: \"Medium\", s: \"group-employees-of-the-same-salary\" },\n { n: 1876, t: \"Substrings of Size Three with Distinct Characters\", d: \"Easy\", s: \"substrings-of-size-three-with-distinct-characters\" },\n { n: 1877, t: \"Minimize Maximum Pair Sum in Array\", d: \"Medium\", s: \"minimize-maximum-pair-sum-in-array\" },\n { n: 1878, t: \"Get Biggest Three Rhombus Sums in a Grid\", d: \"Medium\", s: \"get-biggest-three-rhombus-sums-in-a-grid\" },\n { n: 1879, t: \"Minimum XOR Sum of Two Arrays\", d: \"Hard\", s: \"minimum-xor-sum-of-two-arrays\" },\n { n: 1880, t: \"Check if Word Equals Summation of Two Words\", d: \"Easy\", s: \"check-if-word-equals-summation-of-two-words\" },\n { n: 1881, t: \"Maximum Value after Insertion\", d: \"Medium\", s: \"maximum-value-after-insertion\" },\n { n: 1882, t: \"Process Tasks Using Servers\", d: \"Medium\", s: \"process-tasks-using-servers\" },\n { n: 1883, t: \"Minimum Skips to Arrive at Meeting On Time\", d: \"Hard\", s: \"minimum-skips-to-arrive-at-meeting-on-time\" },\n { n: 1884, t: \"Egg Drop With 2 Eggs and N Floors\", d: \"Medium\", s: \"egg-drop-with-2-eggs-and-n-floors\" },\n { n: 1885, t: \"Count Pairs in Two Arrays\", d: \"Medium\", s: \"count-pairs-in-two-arrays\" },\n { n: 1886, t: \"Determine Whether Matrix Can Be Obtained By Rotation\", d: \"Easy\", s: \"determine-whether-matrix-can-be-obtained-by-rotation\" },\n { n: 1887, t: \"Reduction Operations to Make the Array Elements Equal\", d: \"Medium\", s: \"reduction-operations-to-make-the-array-elements-equal\" },\n { n: 1888, t: \"Minimum Number of Flips to Make the Binary String Alternating\", d: \"Medium\", s: \"minimum-number-of-flips-to-make-the-binary-string-alternating\" },\n { n: 1889, t: \"Minimum Space Wasted From Packaging\", d: \"Hard\", s: \"minimum-space-wasted-from-packaging\" },\n { n: 1890, t: \"The Latest Login in 2020\", d: \"Easy\", s: \"the-latest-login-in-2020\" },\n { n: 1891, t: \"Cutting Ribbons\", d: \"Medium\", s: \"cutting-ribbons\" },\n { n: 1892, t: \"Page Recommendations II\", d: \"Hard\", s: \"page-recommendations-ii\" },\n { n: 1893, t: \"Check if All the Integers in a Range Are Covered\", d: \"Easy\", s: \"check-if-all-the-integers-in-a-range-are-covered\" },\n { n: 1894, t: \"Find the Student that Will Replace the Chalk\", d: \"Medium\", s: \"find-the-student-that-will-replace-the-chalk\" },\n { n: 1895, t: \"Largest Magic Square\", d: \"Medium\", s: \"largest-magic-square\" },\n { n: 1896, t: \"Minimum Cost to Change the Final Value of Expression\", d: \"Hard\", s: \"minimum-cost-to-change-the-final-value-of-expression\" },\n { n: 1897, t: \"Redistribute Characters to Make All Strings Equal\", d: \"Easy\", s: \"redistribute-characters-to-make-all-strings-equal\" },\n { n: 1898, t: \"Maximum Number of Removable Characters\", d: \"Medium\", s: \"maximum-number-of-removable-characters\" },\n { n: 1899, t: \"Merge Triplets to Form Target Triplet\", d: \"Medium\", s: \"merge-triplets-to-form-target-triplet\" },\n { n: 1900, t: \"The Earliest and Latest Rounds Where Players Compete\", d: \"Hard\", s: \"the-earliest-and-latest-rounds-where-players-compete\" },\n { n: 1901, t: \"Find a Peak Element II\", d: \"Medium\", s: \"find-a-peak-element-ii\" },\n { n: 1902, t: \"Depth of BST Given Insertion Order\", d: \"Medium\", s: \"depth-of-bst-given-insertion-order\" },\n { n: 1903, t: \"Largest Odd Number in String\", d: \"Easy\", s: \"largest-odd-number-in-string\" },\n { n: 1904, t: \"The Number of Full Rounds You Have Played\", d: \"Medium\", s: \"the-number-of-full-rounds-you-have-played\" },\n { n: 1905, t: \"Count Sub Islands\", d: \"Medium\", s: \"count-sub-islands\" },\n { n: 1906, t: \"Minimum Absolute Difference Queries\", d: \"Medium\", s: \"minimum-absolute-difference-queries\" },\n { n: 1907, t: \"Count Salary Categories\", d: \"Medium\", s: \"count-salary-categories\" },\n { n: 1908, t: \"Game of Nim\", d: \"Medium\", s: \"game-of-nim\" },\n { n: 1909, t: \"Remove One Element to Make the Array Strictly Increasing\", d: \"Easy\", s: \"remove-one-element-to-make-the-array-strictly-increasing\" },\n { n: 1910, t: \"Remove All Occurrences of a Substring\", d: \"Medium\", s: \"remove-all-occurrences-of-a-substring\" },\n { n: 1911, t: \"Maximum Alternating Subsequence Sum\", d: \"Medium\", s: \"maximum-alternating-subsequence-sum\" },\n { n: 1912, t: \"Design Movie Rental System\", d: \"Hard\", s: \"design-movie-rental-system\" },\n { n: 1913, t: \"Maximum Product Difference Between Two Pairs\", d: \"Easy\", s: \"maximum-product-difference-between-two-pairs\" },\n { n: 1914, t: \"Cyclically Rotating a Grid\", d: \"Medium\", s: \"cyclically-rotating-a-grid\" },\n { n: 1915, t: \"Number of Wonderful Substrings\", d: \"Medium\", s: \"number-of-wonderful-substrings\" },\n { n: 1916, t: \"Count Ways to Build Rooms in an Ant Colony\", d: \"Hard\", s: \"count-ways-to-build-rooms-in-an-ant-colony\" },\n { n: 1917, t: \"Leetcodify Friends Recommendations\", d: \"Hard\", s: \"leetcodify-friends-recommendations\" },\n { n: 1918, t: \"Kth Smallest Subarray Sum\", d: \"Medium\", s: \"kth-smallest-subarray-sum\" },\n { n: 1919, t: \"Leetcodify Similar Friends\", d: \"Hard\", s: \"leetcodify-similar-friends\" },\n { n: 1920, t: \"Build Array from Permutation\", d: \"Easy\", s: \"build-array-from-permutation\" },\n { n: 1921, t: \"Eliminate Maximum Number of Monsters\", d: \"Medium\", s: \"eliminate-maximum-number-of-monsters\" },\n { n: 1922, t: \"Count Good Numbers\", d: \"Medium\", s: \"count-good-numbers\" },\n { n: 1923, t: \"Longest Common Subpath\", d: \"Hard\", s: \"longest-common-subpath\" },\n { n: 1924, t: \"Erect the Fence II\", d: \"Hard\", s: \"erect-the-fence-ii\" },\n { n: 1925, t: \"Count Square Sum Triples\", d: \"Easy\", s: \"count-square-sum-triples\" },\n { n: 1926, t: \"Nearest Exit from Entrance in Maze\", d: \"Medium\", s: \"nearest-exit-from-entrance-in-maze\" },\n { n: 1927, t: \"Sum Game\", d: \"Medium\", s: \"sum-game\" },\n { n: 1928, t: \"Minimum Cost to Reach Destination in Time\", d: \"Hard\", s: \"minimum-cost-to-reach-destination-in-time\" },\n { n: 1929, t: \"Concatenation of Array\", d: \"Easy\", s: \"concatenation-of-array\" },\n { n: 1930, t: \"Unique Length-3 Palindromic Subsequences\", d: \"Medium\", s: \"unique-length-3-palindromic-subsequences\" },\n { n: 1931, t: \"Painting a Grid With Three Different Colors\", d: \"Hard\", s: \"painting-a-grid-with-three-different-colors\" },\n { n: 1932, t: \"Merge BSTs to Create Single BST\", d: \"Hard\", s: \"merge-bsts-to-create-single-bst\" },\n { n: 1933, t: \"Check if String Is Decomposable Into Value-Equal Substrings\", d: \"Easy\", s: \"check-if-string-is-decomposable-into-value-equal-substrings\" },\n { n: 1934, t: \"Confirmation Rate\", d: \"Medium\", s: \"confirmation-rate\" },\n { n: 1935, t: \"Maximum Number of Words You Can Type\", d: \"Easy\", s: \"maximum-number-of-words-you-can-type\" },\n { n: 1936, t: \"Add Minimum Number of Rungs\", d: \"Medium\", s: \"add-minimum-number-of-rungs\" },\n { n: 1937, t: \"Maximum Number of Points with Cost\", d: \"Medium\", s: \"maximum-number-of-points-with-cost\" },\n { n: 1938, t: \"Maximum Genetic Difference Query\", d: \"Hard\", s: \"maximum-genetic-difference-query\" },\n { n: 1939, t: \"Users That Actively Request Confirmation Messages\", d: \"Easy\", s: \"users-that-actively-request-confirmation-messages\" },\n { n: 1940, t: \"Longest Common Subsequence Between Sorted Arrays\", d: \"Medium\", s: \"longest-common-subsequence-between-sorted-arrays\" },\n { n: 1941, t: \"Check if All Characters Have Equal Number of Occurrences\", d: \"Easy\", s: \"check-if-all-characters-have-equal-number-of-occurrences\" },\n { n: 1942, t: \"The Number of the Smallest Unoccupied Chair\", d: \"Medium\", s: \"the-number-of-the-smallest-unoccupied-chair\" },\n { n: 1943, t: \"Describe the Painting\", d: \"Medium\", s: \"describe-the-painting\" },\n { n: 1944, t: \"Number of Visible People in a Queue\", d: \"Hard\", s: \"number-of-visible-people-in-a-queue\" },\n { n: 1945, t: \"Sum of Digits of String After Convert\", d: \"Easy\", s: \"sum-of-digits-of-string-after-convert\" },\n { n: 1946, t: \"Largest Number After Mutating Substring\", d: \"Medium\", s: \"largest-number-after-mutating-substring\" },\n { n: 1947, t: \"Maximum Compatibility Score Sum\", d: \"Medium\", s: \"maximum-compatibility-score-sum\" },\n { n: 1948, t: \"Delete Duplicate Folders in System\", d: \"Hard\", s: \"delete-duplicate-folders-in-system\" },\n { n: 1949, t: \"Strong Friendship\", d: \"Medium\", s: \"strong-friendship\" },\n { n: 1950, t: \"Maximum of Minimum Values in All Subarrays\", d: \"Medium\", s: \"maximum-of-minimum-values-in-all-subarrays\" },\n { n: 1951, t: \"All the Pairs With the Maximum Number of Common Followers\", d: \"Medium\", s: \"all-the-pairs-with-the-maximum-number-of-common-followers\" },\n { n: 1952, t: \"Three Divisors\", d: \"Easy\", s: \"three-divisors\" },\n { n: 1953, t: \"Maximum Number of Weeks for Which You Can Work\", d: \"Medium\", s: \"maximum-number-of-weeks-for-which-you-can-work\" },\n { n: 1954, t: \"Minimum Garden Perimeter to Collect Enough Apples\", d: \"Medium\", s: \"minimum-garden-perimeter-to-collect-enough-apples\" },\n { n: 1955, t: \"Count Number of Special Subsequences\", d: \"Hard\", s: \"count-number-of-special-subsequences\" },\n { n: 1956, t: \"Minimum Time For K Virus Variants to Spread\", d: \"Hard\", s: \"minimum-time-for-k-virus-variants-to-spread\" },\n { n: 1957, t: \"Delete Characters to Make Fancy String\", d: \"Easy\", s: \"delete-characters-to-make-fancy-string\" },\n { n: 1958, t: \"Check if Move is Legal\", d: \"Medium\", s: \"check-if-move-is-legal\" },\n { n: 1959, t: \"Minimum Total Space Wasted With K Resizing Operations\", d: \"Medium\", s: \"minimum-total-space-wasted-with-k-resizing-operations\" },\n { n: 1960, t: \"Maximum Product of the Length of Two Palindromic Substrings\", d: \"Hard\", s: \"maximum-product-of-the-length-of-two-palindromic-substrings\" },\n { n: 1961, t: \"Check If String Is a Prefix of Array\", d: \"Easy\", s: \"check-if-string-is-a-prefix-of-array\" },\n { n: 1962, t: \"Remove Stones to Minimize the Total\", d: \"Medium\", s: \"remove-stones-to-minimize-the-total\" },\n { n: 1963, t: \"Minimum Number of Swaps to Make the String Balanced\", d: \"Medium\", s: \"minimum-number-of-swaps-to-make-the-string-balanced\" },\n { n: 1964, t: \"Find the Longest Valid Obstacle Course at Each Position\", d: \"Hard\", s: \"find-the-longest-valid-obstacle-course-at-each-position\" },\n { n: 1965, t: \"Employees With Missing Information\", d: \"Easy\", s: \"employees-with-missing-information\" },\n { n: 1966, t: \"Binary Searchable Numbers in an Unsorted Array\", d: \"Medium\", s: \"binary-searchable-numbers-in-an-unsorted-array\" },\n { n: 1967, t: \"Number of Strings That Appear as Substrings in Word\", d: \"Easy\", s: \"number-of-strings-that-appear-as-substrings-in-word\" },\n { n: 1968, t: \"Array With Elements Not Equal to Average of Neighbors\", d: \"Medium\", s: \"array-with-elements-not-equal-to-average-of-neighbors\" },\n { n: 1969, t: \"Minimum Non-Zero Product of the Array Elements\", d: \"Medium\", s: \"minimum-non-zero-product-of-the-array-elements\" },\n { n: 1970, t: \"Last Day Where You Can Still Cross\", d: \"Hard\", s: \"last-day-where-you-can-still-cross\" },\n { n: 1971, t: \"Find if Path Exists in Graph\", d: \"Easy\", s: \"find-if-path-exists-in-graph\" },\n { n: 1972, t: \"First and Last Call On the Same Day\", d: \"Hard\", s: \"first-and-last-call-on-the-same-day\" },\n { n: 1973, t: \"Count Nodes Equal to Sum of Descendants\", d: \"Medium\", s: \"count-nodes-equal-to-sum-of-descendants\" },\n { n: 1974, t: \"Minimum Time to Type Word Using Special Typewriter\", d: \"Easy\", s: \"minimum-time-to-type-word-using-special-typewriter\" },\n { n: 1975, t: \"Maximum Matrix Sum\", d: \"Medium\", s: \"maximum-matrix-sum\" },\n { n: 1976, t: \"Number of Ways to Arrive at Destination\", d: \"Medium\", s: \"number-of-ways-to-arrive-at-destination\" },\n { n: 1977, t: \"Number of Ways to Separate Numbers\", d: \"Hard\", s: \"number-of-ways-to-separate-numbers\" },\n { n: 1978, t: \"Employees Whose Manager Left the Company\", d: \"Easy\", s: \"employees-whose-manager-left-the-company\" },\n { n: 1979, t: \"Find Greatest Common Divisor of Array\", d: \"Easy\", s: \"find-greatest-common-divisor-of-array\" },\n { n: 1980, t: \"Find Unique Binary String\", d: \"Medium\", s: \"find-unique-binary-string\" },\n { n: 1981, t: \"Minimize the Difference Between Target and Chosen Elements\", d: \"Medium\", s: \"minimize-the-difference-between-target-and-chosen-elements\" },\n { n: 1982, t: \"Find Array Given Subset Sums\", d: \"Hard\", s: \"find-array-given-subset-sums\" },\n { n: 1983, t: \"Widest Pair of Indices With Equal Range Sum\", d: \"Medium\", s: \"widest-pair-of-indices-with-equal-range-sum\" },\n { n: 1984, t: \"Minimum Difference Between Highest and Lowest of K Scores\", d: \"Easy\", s: \"minimum-difference-between-highest-and-lowest-of-k-scores\" },\n { n: 1985, t: \"Find the Kth Largest Integer in the Array\", d: \"Medium\", s: \"find-the-kth-largest-integer-in-the-array\" },\n { n: 1986, t: \"Minimum Number of Work Sessions to Finish the Tasks\", d: \"Medium\", s: \"minimum-number-of-work-sessions-to-finish-the-tasks\" },\n { n: 1987, t: \"Number of Unique Good Subsequences\", d: \"Hard\", s: \"number-of-unique-good-subsequences\" },\n { n: 1988, t: \"Find Cutoff Score for Each School\", d: \"Medium\", s: \"find-cutoff-score-for-each-school\" },\n { n: 1989, t: \"Maximum Number of People That Can Be Caught in Tag\", d: \"Medium\", s: \"maximum-number-of-people-that-can-be-caught-in-tag\" },\n { n: 1990, t: \"Count the Number of Experiments\", d: \"Medium\", s: \"count-the-number-of-experiments\" },\n { n: 1991, t: \"Find the Middle Index in Array\", d: \"Easy\", s: \"find-the-middle-index-in-array\" },\n { n: 1992, t: \"Find All Groups of Farmland\", d: \"Medium\", s: \"find-all-groups-of-farmland\" },\n { n: 1993, t: \"Operations on Tree\", d: \"Medium\", s: \"operations-on-tree\" },\n { n: 1994, t: \"The Number of Good Subsets\", d: \"Hard\", s: \"the-number-of-good-subsets\" },\n { n: 1995, t: \"Count Special Quadruplets\", d: \"Easy\", s: \"count-special-quadruplets\" },\n { n: 1996, t: \"The Number of Weak Characters in the Game\", d: \"Medium\", s: \"the-number-of-weak-characters-in-the-game\" },\n { n: 1997, t: \"First Day Where You Have Been in All the Rooms\", d: \"Medium\", s: \"first-day-where-you-have-been-in-all-the-rooms\" },\n { n: 1998, t: \"GCD Sort of an Array\", d: \"Hard\", s: \"gcd-sort-of-an-array\" },\n { n: 1999, t: \"Smallest Greater Multiple Made of Two Digits\", d: \"Medium\", s: \"smallest-greater-multiple-made-of-two-digits\" },\n { n: 2000, t: \"Reverse Prefix of Word\", d: \"Easy\", s: \"reverse-prefix-of-word\" },\n { n: 2001, t: \"Number of Pairs of Interchangeable Rectangles\", d: \"Medium\", s: \"number-of-pairs-of-interchangeable-rectangles\" },\n { n: 2002, t: \"Maximum Product of the Length of Two Palindromic Subsequences\", d: \"Medium\", s: \"maximum-product-of-the-length-of-two-palindromic-subsequences\" },\n { n: 2003, t: \"Smallest Missing Genetic Value in Each Subtree\", d: \"Hard\", s: \"smallest-missing-genetic-value-in-each-subtree\" },\n { n: 2004, t: \"The Number of Seniors and Juniors to Join the Company\", d: \"Hard\", s: \"the-number-of-seniors-and-juniors-to-join-the-company\" },\n { n: 2005, t: \"Subtree Removal Game with Fibonacci Tree\", d: \"Hard\", s: \"subtree-removal-game-with-fibonacci-tree\" },\n { n: 2006, t: \"Count Number of Pairs With Absolute Difference K\", d: \"Easy\", s: \"count-number-of-pairs-with-absolute-difference-k\" },\n { n: 2007, t: \"Find Original Array From Doubled Array\", d: \"Medium\", s: \"find-original-array-from-doubled-array\" },\n { n: 2008, t: \"Maximum Earnings From Taxi\", d: \"Medium\", s: \"maximum-earnings-from-taxi\" },\n { n: 2009, t: \"Minimum Number of Operations to Make Array Continuous\", d: \"Hard\", s: \"minimum-number-of-operations-to-make-array-continuous\" },\n { n: 2010, t: \"The Number of Seniors and Juniors to Join the Company II\", d: \"Hard\", s: \"the-number-of-seniors-and-juniors-to-join-the-company-ii\" },\n { n: 2011, t: \"Final Value of Variable After Performing Operations\", d: \"Easy\", s: \"final-value-of-variable-after-performing-operations\" },\n { n: 2012, t: \"Sum of Beauty in the Array\", d: \"Medium\", s: \"sum-of-beauty-in-the-array\" },\n { n: 2013, t: \"Detect Squares\", d: \"Medium\", s: \"detect-squares\" },\n { n: 2014, t: \"Longest Subsequence Repeated k Times\", d: \"Hard\", s: \"longest-subsequence-repeated-k-times\" },\n { n: 2015, t: \"Average Height of Buildings in Each Segment\", d: \"Medium\", s: \"average-height-of-buildings-in-each-segment\" },\n { n: 2016, t: \"Maximum Difference Between Increasing Elements\", d: \"Easy\", s: \"maximum-difference-between-increasing-elements\" },\n { n: 2017, t: \"Grid Game\", d: \"Medium\", s: \"grid-game\" },\n { n: 2018, t: \"Check if Word Can Be Placed In Crossword\", d: \"Medium\", s: \"check-if-word-can-be-placed-in-crossword\" },\n { n: 2019, t: \"The Score of Students Solving Math Expression\", d: \"Hard\", s: \"the-score-of-students-solving-math-expression\" },\n { n: 2020, t: \"Number of Accounts That Did Not Stream\", d: \"Medium\", s: \"number-of-accounts-that-did-not-stream\" },\n { n: 2021, t: \"Brightest Position on Street\", d: \"Medium\", s: \"brightest-position-on-street\" },\n { n: 2022, t: \"Convert 1D Array Into 2D Array\", d: \"Easy\", s: \"convert-1d-array-into-2d-array\" },\n { n: 2023, t: \"Number of Pairs of Strings With Concatenation Equal to Target\", d: \"Medium\", s: \"number-of-pairs-of-strings-with-concatenation-equal-to-target\" },\n { n: 2024, t: \"Maximize the Confusion of an Exam\", d: \"Medium\", s: \"maximize-the-confusion-of-an-exam\" },\n { n: 2025, t: \"Maximum Number of Ways to Partition an Array\", d: \"Hard\", s: \"maximum-number-of-ways-to-partition-an-array\" },\n { n: 2026, t: \"Low-Quality Problems\", d: \"Easy\", s: \"low-quality-problems\" },\n { n: 2027, t: \"Minimum Moves to Convert String\", d: \"Easy\", s: \"minimum-moves-to-convert-string\" },\n { n: 2028, t: \"Find Missing Observations\", d: \"Medium\", s: \"find-missing-observations\" },\n { n: 2029, t: \"Stone Game IX\", d: \"Medium\", s: \"stone-game-ix\" },\n { n: 2030, t: \"Smallest K-Length Subsequence With Occurrences of a Letter\", d: \"Hard\", s: \"smallest-k-length-subsequence-with-occurrences-of-a-letter\" },\n { n: 2031, t: \"Count Subarrays With More Ones Than Zeros\", d: \"Medium\", s: \"count-subarrays-with-more-ones-than-zeros\" },\n { n: 2032, t: \"Two Out of Three\", d: \"Easy\", s: \"two-out-of-three\" },\n { n: 2033, t: \"Minimum Operations to Make a Uni-Value Grid\", d: \"Medium\", s: \"minimum-operations-to-make-a-uni-value-grid\" },\n { n: 2034, t: \"Stock Price Fluctuation\", d: \"Medium\", s: \"stock-price-fluctuation\" },\n { n: 2035, t: \"Partition Array Into Two Arrays to Minimize Sum Difference\", d: \"Hard\", s: \"partition-array-into-two-arrays-to-minimize-sum-difference\" },\n { n: 2036, t: \"Maximum Alternating Subarray Sum\", d: \"Medium\", s: \"maximum-alternating-subarray-sum\" },\n { n: 2037, t: \"Minimum Number of Moves to Seat Everyone\", d: \"Easy\", s: \"minimum-number-of-moves-to-seat-everyone\" },\n { n: 2038, t: \"Remove Colored Pieces if Both Neighbors are the Same Color\", d: \"Medium\", s: \"remove-colored-pieces-if-both-neighbors-are-the-same-color\" },\n { n: 2039, t: \"The Time When the Network Becomes Idle\", d: \"Medium\", s: \"the-time-when-the-network-becomes-idle\" },\n { n: 2040, t: \"Kth Smallest Product of Two Sorted Arrays\", d: \"Hard\", s: \"kth-smallest-product-of-two-sorted-arrays\" },\n { n: 2041, t: \"Accepted Candidates From the Interviews\", d: \"Medium\", s: \"accepted-candidates-from-the-interviews\" },\n { n: 2042, t: \"Check if Numbers Are Ascending in a Sentence\", d: \"Easy\", s: \"check-if-numbers-are-ascending-in-a-sentence\" },\n { n: 2043, t: \"Simple Bank System\", d: \"Medium\", s: \"simple-bank-system\" },\n { n: 2044, t: \"Count Number of Maximum Bitwise-OR Subsets\", d: \"Medium\", s: \"count-number-of-maximum-bitwise-or-subsets\" },\n { n: 2045, t: \"Second Minimum Time to Reach Destination\", d: \"Hard\", s: \"second-minimum-time-to-reach-destination\" },\n { n: 2046, t: \"Sort Linked List Already Sorted Using Absolute Values\", d: \"Medium\", s: \"sort-linked-list-already-sorted-using-absolute-values\" },\n { n: 2047, t: \"Number of Valid Words in a Sentence\", d: \"Easy\", s: \"number-of-valid-words-in-a-sentence\" },\n { n: 2048, t: \"Next Greater Numerically Balanced Number\", d: \"Medium\", s: \"next-greater-numerically-balanced-number\" },\n { n: 2049, t: \"Count Nodes With the Highest Score\", d: \"Medium\", s: \"count-nodes-with-the-highest-score\" },\n { n: 2050, t: \"Parallel Courses III\", d: \"Hard\", s: \"parallel-courses-iii\" },\n { n: 2051, t: \"The Category of Each Member in the Store\", d: \"Medium\", s: \"the-category-of-each-member-in-the-store\" },\n { n: 2052, t: \"Minimum Cost to Separate Sentence Into Rows\", d: \"Medium\", s: \"minimum-cost-to-separate-sentence-into-rows\" },\n { n: 2053, t: \"Kth Distinct String in an Array\", d: \"Easy\", s: \"kth-distinct-string-in-an-array\" },\n { n: 2054, t: \"Two Best Non-Overlapping Events\", d: \"Medium\", s: \"two-best-non-overlapping-events\" },\n { n: 2055, t: \"Plates Between Candles\", d: \"Medium\", s: \"plates-between-candles\" },\n { n: 2056, t: \"Number of Valid Move Combinations On Chessboard\", d: \"Hard\", s: \"number-of-valid-move-combinations-on-chessboard\" },\n { n: 2057, t: \"Smallest Index With Equal Value\", d: \"Easy\", s: \"smallest-index-with-equal-value\" },\n { n: 2058, t: \"Find the Minimum and Maximum Number of Nodes Between Critical Points\", d: \"Medium\", s: \"find-the-minimum-and-maximum-number-of-nodes-between-critical-points\" },\n { n: 2059, t: \"Minimum Operations to Convert Number\", d: \"Medium\", s: \"minimum-operations-to-convert-number\" },\n { n: 2060, t: \"Check if an Original String Exists Given Two Encoded Strings\", d: \"Hard\", s: \"check-if-an-original-string-exists-given-two-encoded-strings\" },\n { n: 2061, t: \"Number of Spaces Cleaning Robot Cleaned\", d: \"Medium\", s: \"number-of-spaces-cleaning-robot-cleaned\" },\n { n: 2062, t: \"Count Vowel Substrings of a String\", d: \"Easy\", s: \"count-vowel-substrings-of-a-string\" },\n { n: 2063, t: \"Vowels of All Substrings\", d: \"Medium\", s: \"vowels-of-all-substrings\" },\n { n: 2064, t: \"Minimized Maximum of Products Distributed to Any Store\", d: \"Medium\", s: \"minimized-maximum-of-products-distributed-to-any-store\" },\n { n: 2065, t: \"Maximum Path Quality of a Graph\", d: \"Hard\", s: \"maximum-path-quality-of-a-graph\" },\n { n: 2066, t: \"Account Balance\", d: \"Medium\", s: \"account-balance\" },\n { n: 2067, t: \"Number of Equal Count Substrings\", d: \"Medium\", s: \"number-of-equal-count-substrings\" },\n { n: 2068, t: \"Check Whether Two Strings are Almost Equivalent\", d: \"Easy\", s: \"check-whether-two-strings-are-almost-equivalent\" },\n { n: 2069, t: \"Walking Robot Simulation II\", d: \"Medium\", s: \"walking-robot-simulation-ii\" },\n { n: 2070, t: \"Most Beautiful Item for Each Query\", d: \"Medium\", s: \"most-beautiful-item-for-each-query\" },\n { n: 2071, t: \"Maximum Number of Tasks You Can Assign\", d: \"Hard\", s: \"maximum-number-of-tasks-you-can-assign\" },\n { n: 2072, t: \"The Winner University\", d: \"Easy\", s: \"the-winner-university\" },\n { n: 2073, t: \"Time Needed to Buy Tickets\", d: \"Easy\", s: \"time-needed-to-buy-tickets\" },\n { n: 2074, t: \"Reverse Nodes in Even Length Groups\", d: \"Medium\", s: \"reverse-nodes-in-even-length-groups\" },\n { n: 2075, t: \"Decode the Slanted Ciphertext\", d: \"Medium\", s: \"decode-the-slanted-ciphertext\" },\n { n: 2076, t: \"Process Restricted Friend Requests\", d: \"Hard\", s: \"process-restricted-friend-requests\" },\n { n: 2077, t: \"Paths in Maze That Lead to Same Room\", d: \"Medium\", s: \"paths-in-maze-that-lead-to-same-room\" },\n { n: 2078, t: \"Two Furthest Houses With Different Colors\", d: \"Easy\", s: \"two-furthest-houses-with-different-colors\" },\n { n: 2079, t: \"Watering Plants\", d: \"Medium\", s: \"watering-plants\" },\n { n: 2080, t: \"Range Frequency Queries\", d: \"Medium\", s: \"range-frequency-queries\" },\n { n: 2081, t: \"Sum of k-Mirror Numbers\", d: \"Hard\", s: \"sum-of-k-mirror-numbers\" },\n { n: 2082, t: \"The Number of Rich Customers\", d: \"Easy\", s: \"the-number-of-rich-customers\" },\n { n: 2083, t: \"Substrings That Begin and End With the Same Letter\", d: \"Medium\", s: \"substrings-that-begin-and-end-with-the-same-letter\" },\n { n: 2084, t: \"Drop Type 1 Orders for Customers With Type 0 Orders\", d: \"Medium\", s: \"drop-type-1-orders-for-customers-with-type-0-orders\" },\n { n: 2085, t: \"Count Common Words With One Occurrence\", d: \"Easy\", s: \"count-common-words-with-one-occurrence\" },\n { n: 2086, t: \"Minimum Number of Food Buckets to Feed the Hamsters\", d: \"Medium\", s: \"minimum-number-of-food-buckets-to-feed-the-hamsters\" },\n { n: 2087, t: \"Minimum Cost Homecoming of a Robot in a Grid\", d: \"Medium\", s: \"minimum-cost-homecoming-of-a-robot-in-a-grid\" },\n { n: 2088, t: \"Count Fertile Pyramids in a Land\", d: \"Hard\", s: \"count-fertile-pyramids-in-a-land\" },\n { n: 2089, t: \"Find Target Indices After Sorting Array\", d: \"Easy\", s: \"find-target-indices-after-sorting-array\" },\n { n: 2090, t: \"K Radius Subarray Averages\", d: \"Medium\", s: \"k-radius-subarray-averages\" },\n { n: 2091, t: \"Removing Minimum and Maximum From Array\", d: \"Medium\", s: \"removing-minimum-and-maximum-from-array\" },\n { n: 2092, t: \"Find All People With Secret\", d: \"Hard\", s: \"find-all-people-with-secret\" },\n { n: 2093, t: \"Minimum Cost to Reach City With Discounts\", d: \"Medium\", s: \"minimum-cost-to-reach-city-with-discounts\" },\n { n: 2094, t: \"Finding 3-Digit Even Numbers\", d: \"Easy\", s: \"finding-3-digit-even-numbers\" },\n { n: 2095, t: \"Delete the Middle Node of a Linked List\", d: \"Medium\", s: \"delete-the-middle-node-of-a-linked-list\" },\n { n: 2096, t: \"Step-By-Step Directions From a Binary Tree Node to Another\", d: \"Medium\", s: \"step-by-step-directions-from-a-binary-tree-node-to-another\" },\n { n: 2097, t: \"Valid Arrangement of Pairs\", d: \"Hard\", s: \"valid-arrangement-of-pairs\" },\n { n: 2098, t: \"Subsequence of Size K With the Largest Even Sum\", d: \"Medium\", s: \"subsequence-of-size-k-with-the-largest-even-sum\" },\n { n: 2099, t: \"Find Subsequence of Length K With the Largest Sum\", d: \"Easy\", s: \"find-subsequence-of-length-k-with-the-largest-sum\" },\n { n: 2100, t: \"Find Good Days to Rob the Bank\", d: \"Medium\", s: \"find-good-days-to-rob-the-bank\" },\n { n: 2101, t: \"Detonate the Maximum Bombs\", d: \"Medium\", s: \"detonate-the-maximum-bombs\" },\n { n: 2102, t: \"Sequentially Ordinal Rank Tracker\", d: \"Hard\", s: \"sequentially-ordinal-rank-tracker\" },\n { n: 2103, t: \"Rings and Rods\", d: \"Easy\", s: \"rings-and-rods\" },\n { n: 2104, t: \"Sum of Subarray Ranges\", d: \"Medium\", s: \"sum-of-subarray-ranges\" },\n { n: 2105, t: \"Watering Plants II\", d: \"Medium\", s: \"watering-plants-ii\" },\n { n: 2106, t: \"Maximum Fruits Harvested After at Most K Steps\", d: \"Hard\", s: \"maximum-fruits-harvested-after-at-most-k-steps\" },\n { n: 2107, t: \"Number of Unique Flavors After Sharing K Candies\", d: \"Medium\", s: \"number-of-unique-flavors-after-sharing-k-candies\" },\n { n: 2108, t: \"Find First Palindromic String in the Array\", d: \"Easy\", s: \"find-first-palindromic-string-in-the-array\" },\n { n: 2109, t: \"Adding Spaces to a String\", d: \"Medium\", s: \"adding-spaces-to-a-string\" },\n { n: 2110, t: \"Number of Smooth Descent Periods of a Stock\", d: \"Medium\", s: \"number-of-smooth-descent-periods-of-a-stock\" },\n { n: 2111, t: \"Minimum Operations to Make the Array K-Increasing\", d: \"Hard\", s: \"minimum-operations-to-make-the-array-k-increasing\" },\n { n: 2112, t: \"The Airport With the Most Traffic\", d: \"Medium\", s: \"the-airport-with-the-most-traffic\" },\n { n: 2113, t: \"Elements in Array After Removing and Replacing Elements\", d: \"Medium\", s: \"elements-in-array-after-removing-and-replacing-elements\" },\n { n: 2114, t: \"Maximum Number of Words Found in Sentences\", d: \"Easy\", s: \"maximum-number-of-words-found-in-sentences\" },\n { n: 2115, t: \"Find All Possible Recipes from Given Supplies\", d: \"Medium\", s: \"find-all-possible-recipes-from-given-supplies\" },\n { n: 2116, t: \"Check if a Parentheses String Can Be Valid\", d: \"Medium\", s: \"check-if-a-parentheses-string-can-be-valid\" },\n { n: 2117, t: \"Abbreviating the Product of a Range\", d: \"Hard\", s: \"abbreviating-the-product-of-a-range\" },\n { n: 2118, t: \"Build the Equation\", d: \"Hard\", s: \"build-the-equation\" },\n { n: 2119, t: \"A Number After a Double Reversal\", d: \"Easy\", s: \"a-number-after-a-double-reversal\" },\n { n: 2120, t: \"Execution of All Suffix Instructions Staying in a Grid\", d: \"Medium\", s: \"execution-of-all-suffix-instructions-staying-in-a-grid\" },\n { n: 2121, t: \"Intervals Between Identical Elements\", d: \"Medium\", s: \"intervals-between-identical-elements\" },\n { n: 2122, t: \"Recover the Original Array\", d: \"Hard\", s: \"recover-the-original-array\" },\n { n: 2123, t: \"Minimum Operations to Remove Adjacent Ones in Matrix\", d: \"Hard\", s: \"minimum-operations-to-remove-adjacent-ones-in-matrix\" },\n { n: 2124, t: \"Check if All A\\'s Appears Before All B\\'s\", d: \"Easy\", s: \"check-if-all-as-appears-before-all-bs\" },\n { n: 2125, t: \"Number of Laser Beams in a Bank\", d: \"Medium\", s: \"number-of-laser-beams-in-a-bank\" },\n { n: 2126, t: \"Destroying Asteroids\", d: \"Medium\", s: \"destroying-asteroids\" },\n { n: 2127, t: \"Maximum Employees to Be Invited to a Meeting\", d: \"Hard\", s: \"maximum-employees-to-be-invited-to-a-meeting\" },\n { n: 2128, t: \"Remove All Ones With Row and Column Flips\", d: \"Medium\", s: \"remove-all-ones-with-row-and-column-flips\" },\n { n: 2129, t: \"Capitalize the Title\", d: \"Easy\", s: \"capitalize-the-title\" },\n { n: 2130, t: \"Maximum Twin Sum of a Linked List\", d: \"Medium\", s: \"maximum-twin-sum-of-a-linked-list\" },\n { n: 2131, t: \"Longest Palindrome by Concatenating Two Letter Words\", d: \"Medium\", s: \"longest-palindrome-by-concatenating-two-letter-words\" },\n { n: 2132, t: \"Stamping the Grid\", d: \"Hard\", s: \"stamping-the-grid\" },\n { n: 2133, t: \"Check if Every Row and Column Contains All Numbers\", d: \"Easy\", s: \"check-if-every-row-and-column-contains-all-numbers\" },\n { n: 2134, t: \"Minimum Swaps to Group All 1\\'s Together II\", d: \"Medium\", s: \"minimum-swaps-to-group-all-1s-together-ii\" },\n { n: 2135, t: \"Count Words Obtained After Adding a Letter\", d: \"Medium\", s: \"count-words-obtained-after-adding-a-letter\" },\n { n: 2136, t: \"Earliest Possible Day of Full Bloom\", d: \"Hard\", s: \"earliest-possible-day-of-full-bloom\" },\n { n: 2137, t: \"Pour Water Between Buckets to Make Water Levels Equal\", d: \"Medium\", s: \"pour-water-between-buckets-to-make-water-levels-equal\" },\n { n: 2138, t: \"Divide a String Into Groups of Size k\", d: \"Easy\", s: \"divide-a-string-into-groups-of-size-k\" },\n { n: 2139, t: \"Minimum Moves to Reach Target Score\", d: \"Medium\", s: \"minimum-moves-to-reach-target-score\" },\n { n: 2140, t: \"Solving Questions With Brainpower\", d: \"Medium\", s: \"solving-questions-with-brainpower\" },\n { n: 2141, t: \"Maximum Running Time of N Computers\", d: \"Hard\", s: \"maximum-running-time-of-n-computers\" },\n { n: 2142, t: \"The Number of Passengers in Each Bus I\", d: \"Medium\", s: \"the-number-of-passengers-in-each-bus-i\" },\n { n: 2143, t: \"Choose Numbers From Two Arrays in Range\", d: \"Hard\", s: \"choose-numbers-from-two-arrays-in-range\" },\n { n: 2144, t: \"Minimum Cost of Buying Candies With Discount\", d: \"Easy\", s: \"minimum-cost-of-buying-candies-with-discount\" },\n { n: 2145, t: \"Count the Hidden Sequences\", d: \"Medium\", s: \"count-the-hidden-sequences\" },\n { n: 2146, t: \"K Highest Ranked Items Within a Price Range\", d: \"Medium\", s: \"k-highest-ranked-items-within-a-price-range\" },\n { n: 2147, t: \"Number of Ways to Divide a Long Corridor\", d: \"Hard\", s: \"number-of-ways-to-divide-a-long-corridor\" },\n { n: 2148, t: \"Count Elements With Strictly Smaller and Greater Elements\", d: \"Easy\", s: \"count-elements-with-strictly-smaller-and-greater-elements\" },\n { n: 2149, t: \"Rearrange Array Elements by Sign\", d: \"Medium\", s: \"rearrange-array-elements-by-sign\" },\n { n: 2150, t: \"Find All Lonely Numbers in the Array\", d: \"Medium\", s: \"find-all-lonely-numbers-in-the-array\" },\n { n: 2151, t: \"Maximum Good People Based on Statements\", d: \"Hard\", s: \"maximum-good-people-based-on-statements\" },\n { n: 2152, t: \"Minimum Number of Lines to Cover Points\", d: \"Medium\", s: \"minimum-number-of-lines-to-cover-points\" },\n { n: 2153, t: \"The Number of Passengers in Each Bus II\", d: \"Hard\", s: \"the-number-of-passengers-in-each-bus-ii\" },\n { n: 2154, t: \"Keep Multiplying Found Values by Two\", d: \"Easy\", s: \"keep-multiplying-found-values-by-two\" },\n { n: 2155, t: \"All Divisions With the Highest Score of a Binary Array\", d: \"Medium\", s: \"all-divisions-with-the-highest-score-of-a-binary-array\" },\n { n: 2156, t: \"Find Substring With Given Hash Value\", d: \"Hard\", s: \"find-substring-with-given-hash-value\" },\n { n: 2157, t: \"Groups of Strings\", d: \"Hard\", s: \"groups-of-strings\" },\n { n: 2158, t: \"Amount of New Area Painted Each Day\", d: \"Hard\", s: \"amount-of-new-area-painted-each-day\" },\n { n: 2159, t: \"Order Two Columns Independently\", d: \"Medium\", s: \"order-two-columns-independently\" },\n { n: 2160, t: \"Minimum Sum of Four Digit Number After Splitting Digits\", d: \"Easy\", s: \"minimum-sum-of-four-digit-number-after-splitting-digits\" },\n { n: 2161, t: \"Partition Array According to Given Pivot\", d: \"Medium\", s: \"partition-array-according-to-given-pivot\" },\n { n: 2162, t: \"Minimum Cost to Set Cooking Time\", d: \"Medium\", s: \"minimum-cost-to-set-cooking-time\" },\n { n: 2163, t: \"Minimum Difference in Sums After Removal of Elements\", d: \"Hard\", s: \"minimum-difference-in-sums-after-removal-of-elements\" },\n { n: 2164, t: \"Sort Even and Odd Indices Independently\", d: \"Easy\", s: \"sort-even-and-odd-indices-independently\" },\n { n: 2165, t: \"Smallest Value of the Rearranged Number\", d: \"Medium\", s: \"smallest-value-of-the-rearranged-number\" },\n { n: 2166, t: \"Design Bitset\", d: \"Medium\", s: \"design-bitset\" },\n { n: 2167, t: \"Minimum Time to Remove All Cars Containing Illegal Goods\", d: \"Hard\", s: \"minimum-time-to-remove-all-cars-containing-illegal-goods\" },\n { n: 2168, t: \"Unique Substrings With Equal Digit Frequency\", d: \"Medium\", s: \"unique-substrings-with-equal-digit-frequency\" },\n { n: 2169, t: \"Count Operations to Obtain Zero\", d: \"Easy\", s: \"count-operations-to-obtain-zero\" },\n { n: 2170, t: \"Minimum Operations to Make the Array Alternating\", d: \"Medium\", s: \"minimum-operations-to-make-the-array-alternating\" },\n { n: 2171, t: \"Removing Minimum Number of Magic Beans\", d: \"Medium\", s: \"removing-minimum-number-of-magic-beans\" },\n { n: 2172, t: \"Maximum AND Sum of Array\", d: \"Hard\", s: \"maximum-and-sum-of-array\" },\n { n: 2173, t: \"Longest Winning Streak\", d: \"Hard\", s: \"longest-winning-streak\" },\n { n: 2174, t: \"Remove All Ones With Row and Column Flips II\", d: \"Medium\", s: \"remove-all-ones-with-row-and-column-flips-ii\" },\n { n: 2175, t: \"The Change in Global Rankings\", d: \"Medium\", s: \"the-change-in-global-rankings\" },\n { n: 2176, t: \"Count Equal and Divisible Pairs in an Array\", d: \"Easy\", s: \"count-equal-and-divisible-pairs-in-an-array\" },\n { n: 2177, t: \"Find Three Consecutive Integers That Sum to a Given Number\", d: \"Medium\", s: \"find-three-consecutive-integers-that-sum-to-a-given-number\" },\n { n: 2178, t: \"Maximum Split of Positive Even Integers\", d: \"Medium\", s: \"maximum-split-of-positive-even-integers\" },\n { n: 2179, t: \"Count Good Triplets in an Array\", d: \"Hard\", s: \"count-good-triplets-in-an-array\" },\n { n: 2180, t: \"Count Integers With Even Digit Sum\", d: \"Easy\", s: \"count-integers-with-even-digit-sum\" },\n { n: 2181, t: \"Merge Nodes in Between Zeros\", d: \"Medium\", s: \"merge-nodes-in-between-zeros\" },\n { n: 2182, t: \"Construct String With Repeat Limit\", d: \"Medium\", s: \"construct-string-with-repeat-limit\" },\n { n: 2183, t: \"Count Array Pairs Divisible by K\", d: \"Hard\", s: \"count-array-pairs-divisible-by-k\" },\n { n: 2184, t: \"Number of Ways to Build Sturdy Brick Wall\", d: \"Medium\", s: \"number-of-ways-to-build-sturdy-brick-wall\" },\n { n: 2185, t: \"Counting Words With a Given Prefix\", d: \"Easy\", s: \"counting-words-with-a-given-prefix\" },\n { n: 2186, t: \"Minimum Number of Steps to Make Two Strings Anagram II\", d: \"Medium\", s: \"minimum-number-of-steps-to-make-two-strings-anagram-ii\" },\n { n: 2187, t: \"Minimum Time to Complete Trips\", d: \"Medium\", s: \"minimum-time-to-complete-trips\" },\n { n: 2188, t: \"Minimum Time to Finish the Race\", d: \"Hard\", s: \"minimum-time-to-finish-the-race\" },\n { n: 2189, t: \"Number of Ways to Build House of Cards\", d: \"Medium\", s: \"number-of-ways-to-build-house-of-cards\" },\n { n: 2190, t: \"Most Frequent Number Following Key In an Array\", d: \"Easy\", s: \"most-frequent-number-following-key-in-an-array\" },\n { n: 2191, t: \"Sort the Jumbled Numbers\", d: \"Medium\", s: \"sort-the-jumbled-numbers\" },\n { n: 2192, t: \"All Ancestors of a Node in a Directed Acyclic Graph\", d: \"Medium\", s: \"all-ancestors-of-a-node-in-a-directed-acyclic-graph\" },\n { n: 2193, t: \"Minimum Number of Moves to Make Palindrome\", d: \"Hard\", s: \"minimum-number-of-moves-to-make-palindrome\" },\n { n: 2194, t: \"Cells in a Range on an Excel Sheet\", d: \"Easy\", s: \"cells-in-a-range-on-an-excel-sheet\" },\n { n: 2195, t: \"Append K Integers With Minimal Sum\", d: \"Medium\", s: \"append-k-integers-with-minimal-sum\" },\n { n: 2196, t: \"Create Binary Tree From Descriptions\", d: \"Medium\", s: \"create-binary-tree-from-descriptions\" },\n { n: 2197, t: \"Replace Non-Coprime Numbers in Array\", d: \"Hard\", s: \"replace-non-coprime-numbers-in-array\" },\n { n: 2198, t: \"Number of Single Divisor Triplets\", d: \"Medium\", s: \"number-of-single-divisor-triplets\" },\n { n: 2199, t: \"Finding the Topic of Each Post\", d: \"Hard\", s: \"finding-the-topic-of-each-post\" },\n { n: 2200, t: \"Find All K-Distant Indices in an Array\", d: \"Easy\", s: \"find-all-k-distant-indices-in-an-array\" },\n { n: 2201, t: \"Count Artifacts That Can Be Extracted\", d: \"Medium\", s: \"count-artifacts-that-can-be-extracted\" },\n { n: 2202, t: \"Maximize the Topmost Element After K Moves\", d: \"Medium\", s: \"maximize-the-topmost-element-after-k-moves\" },\n { n: 2203, t: \"Minimum Weighted Subgraph With the Required Paths\", d: \"Hard\", s: \"minimum-weighted-subgraph-with-the-required-paths\" },\n { n: 2204, t: \"Distance to a Cycle in Undirected Graph\", d: \"Hard\", s: \"distance-to-a-cycle-in-undirected-graph\" },\n { n: 2205, t: \"The Number of Users That Are Eligible for Discount\", d: \"Easy\", s: \"the-number-of-users-that-are-eligible-for-discount\" },\n { n: 2206, t: \"Divide Array Into Equal Pairs\", d: \"Easy\", s: \"divide-array-into-equal-pairs\" },\n { n: 2207, t: \"Maximize Number of Subsequences in a String\", d: \"Medium\", s: \"maximize-number-of-subsequences-in-a-string\" },\n { n: 2208, t: \"Minimum Operations to Halve Array Sum\", d: \"Medium\", s: \"minimum-operations-to-halve-array-sum\" },\n { n: 2209, t: \"Minimum White Tiles After Covering With Carpets\", d: \"Hard\", s: \"minimum-white-tiles-after-covering-with-carpets\" },\n { n: 2210, t: \"Count Hills and Valleys in an Array\", d: \"Easy\", s: \"count-hills-and-valleys-in-an-array\" },\n { n: 2211, t: \"Count Collisions on a Road\", d: \"Medium\", s: \"count-collisions-on-a-road\" },\n { n: 2212, t: \"Maximum Points in an Archery Competition\", d: \"Medium\", s: \"maximum-points-in-an-archery-competition\" },\n { n: 2213, t: \"Longest Substring of One Repeating Character\", d: \"Hard\", s: \"longest-substring-of-one-repeating-character\" },\n { n: 2214, t: \"Minimum Health to Beat Game\", d: \"Medium\", s: \"minimum-health-to-beat-game\" },\n { n: 2215, t: \"Find the Difference of Two Arrays\", d: \"Easy\", s: \"find-the-difference-of-two-arrays\" },\n { n: 2216, t: \"Minimum Deletions to Make Array Beautiful\", d: \"Medium\", s: \"minimum-deletions-to-make-array-beautiful\" },\n { n: 2217, t: \"Find Palindrome With Fixed Length\", d: \"Medium\", s: \"find-palindrome-with-fixed-length\" },\n { n: 2218, t: \"Maximum Value of K Coins From Piles\", d: \"Hard\", s: \"maximum-value-of-k-coins-from-piles\" },\n { n: 2219, t: \"Maximum Sum Score of Array\", d: \"Medium\", s: \"maximum-sum-score-of-array\" },\n { n: 2220, t: \"Minimum Bit Flips to Convert Number\", d: \"Easy\", s: \"minimum-bit-flips-to-convert-number\" },\n { n: 2221, t: \"Find Triangular Sum of an Array\", d: \"Medium\", s: \"find-triangular-sum-of-an-array\" },\n { n: 2222, t: \"Number of Ways to Select Buildings\", d: \"Medium\", s: \"number-of-ways-to-select-buildings\" },\n { n: 2223, t: \"Sum of Scores of Built Strings\", d: \"Hard\", s: \"sum-of-scores-of-built-strings\" },\n { n: 2224, t: \"Minimum Number of Operations to Convert Time\", d: \"Easy\", s: \"minimum-number-of-operations-to-convert-time\" },\n { n: 2225, t: \"Find Players With Zero or One Losses\", d: \"Medium\", s: \"find-players-with-zero-or-one-losses\" },\n { n: 2226, t: \"Maximum Candies Allocated to K Children\", d: \"Medium\", s: \"maximum-candies-allocated-to-k-children\" },\n { n: 2227, t: \"Encrypt and Decrypt Strings\", d: \"Hard\", s: \"encrypt-and-decrypt-strings\" },\n { n: 2228, t: \"Users With Two Purchases Within Seven Days\", d: \"Medium\", s: \"users-with-two-purchases-within-seven-days\" },\n { n: 2229, t: \"Check if an Array Is Consecutive\", d: \"Easy\", s: \"check-if-an-array-is-consecutive\" },\n { n: 2230, t: \"The Users That Are Eligible for Discount\", d: \"Easy\", s: \"the-users-that-are-eligible-for-discount\" },\n { n: 2231, t: \"Largest Number After Digit Swaps by Parity\", d: \"Easy\", s: \"largest-number-after-digit-swaps-by-parity\" },\n { n: 2232, t: \"Minimize Result by Adding Parentheses to Expression\", d: \"Medium\", s: \"minimize-result-by-adding-parentheses-to-expression\" },\n { n: 2233, t: \"Maximum Product After K Increments\", d: \"Medium\", s: \"maximum-product-after-k-increments\" },\n { n: 2234, t: \"Maximum Total Beauty of the Gardens\", d: \"Hard\", s: \"maximum-total-beauty-of-the-gardens\" },\n { n: 2235, t: \"Add Two Integers\", d: \"Easy\", s: \"add-two-integers\" },\n { n: 2236, t: \"Root Equals Sum of Children\", d: \"Easy\", s: \"root-equals-sum-of-children\" },\n { n: 2237, t: \"Count Positions on Street With Required Brightness\", d: \"Medium\", s: \"count-positions-on-street-with-required-brightness\" },\n { n: 2238, t: \"Number of Times a Driver Was a Passenger\", d: \"Medium\", s: \"number-of-times-a-driver-was-a-passenger\" },\n { n: 2239, t: \"Find Closest Number to Zero\", d: \"Easy\", s: \"find-closest-number-to-zero\" },\n { n: 2240, t: \"Number of Ways to Buy Pens and Pencils\", d: \"Medium\", s: \"number-of-ways-to-buy-pens-and-pencils\" },\n { n: 2241, t: \"Design an ATM Machine\", d: \"Medium\", s: \"design-an-atm-machine\" },\n { n: 2242, t: \"Maximum Score of a Node Sequence\", d: \"Hard\", s: \"maximum-score-of-a-node-sequence\" },\n { n: 2243, t: \"Calculate Digit Sum of a String\", d: \"Easy\", s: \"calculate-digit-sum-of-a-string\" },\n { n: 2244, t: \"Minimum Rounds to Complete All Tasks\", d: \"Medium\", s: \"minimum-rounds-to-complete-all-tasks\" },\n { n: 2245, t: \"Maximum Trailing Zeros in a Cornered Path\", d: \"Medium\", s: \"maximum-trailing-zeros-in-a-cornered-path\" },\n { n: 2246, t: \"Longest Path With Different Adjacent Characters\", d: \"Hard\", s: \"longest-path-with-different-adjacent-characters\" },\n { n: 2247, t: \"Maximum Cost of Trip With K Highways\", d: \"Hard\", s: \"maximum-cost-of-trip-with-k-highways\" },\n { n: 2248, t: \"Intersection of Multiple Arrays\", d: \"Easy\", s: \"intersection-of-multiple-arrays\" },\n { n: 2249, t: \"Count Lattice Points Inside a Circle\", d: \"Medium\", s: \"count-lattice-points-inside-a-circle\" },\n { n: 2250, t: \"Count Number of Rectangles Containing Each Point\", d: \"Medium\", s: \"count-number-of-rectangles-containing-each-point\" },\n { n: 2251, t: \"Number of Flowers in Full Bloom\", d: \"Hard\", s: \"number-of-flowers-in-full-bloom\" },\n { n: 2252, t: \"Dynamic Pivoting of a Table\", d: \"Hard\", s: \"dynamic-pivoting-of-a-table\" },\n { n: 2253, t: \"Dynamic Unpivoting of a Table\", d: \"Hard\", s: \"dynamic-unpivoting-of-a-table\" },\n { n: 2254, t: \"Design Video Sharing Platform\", d: \"Hard\", s: \"design-video-sharing-platform\" },\n { n: 2255, t: \"Count Prefixes of a Given String\", d: \"Easy\", s: \"count-prefixes-of-a-given-string\" },\n { n: 2256, t: \"Minimum Average Difference\", d: \"Medium\", s: \"minimum-average-difference\" },\n { n: 2257, t: \"Count Unguarded Cells in the Grid\", d: \"Medium\", s: \"count-unguarded-cells-in-the-grid\" },\n { n: 2258, t: \"Escape the Spreading Fire\", d: \"Hard\", s: \"escape-the-spreading-fire\" },\n { n: 2259, t: \"Remove Digit From Number to Maximize Result\", d: \"Easy\", s: \"remove-digit-from-number-to-maximize-result\" },\n { n: 2260, t: \"Minimum Consecutive Cards to Pick Up\", d: \"Medium\", s: \"minimum-consecutive-cards-to-pick-up\" },\n { n: 2261, t: \"K Divisible Elements Subarrays\", d: \"Medium\", s: \"k-divisible-elements-subarrays\" },\n { n: 2262, t: \"Total Appeal of A String\", d: \"Hard\", s: \"total-appeal-of-a-string\" },\n { n: 2263, t: \"Make Array Non-decreasing or Non-increasing\", d: \"Hard\", s: \"make-array-non-decreasing-or-non-increasing\" },\n { n: 2264, t: \"Largest 3-Same-Digit Number in String\", d: \"Easy\", s: \"largest-3-same-digit-number-in-string\" },\n { n: 2265, t: \"Count Nodes Equal to Average of Subtree\", d: \"Medium\", s: \"count-nodes-equal-to-average-of-subtree\" },\n { n: 2266, t: \"Count Number of Texts\", d: \"Medium\", s: \"count-number-of-texts\" },\n { n: 2267, t: \"Check if There Is a Valid Parentheses String Path\", d: \"Hard\", s: \"check-if-there-is-a-valid-parentheses-string-path\" },\n { n: 2268, t: \"Minimum Number of Keypresses\", d: \"Medium\", s: \"minimum-number-of-keypresses\" },\n { n: 2269, t: \"Find the K-Beauty of a Number\", d: \"Easy\", s: \"find-the-k-beauty-of-a-number\" },\n { n: 2270, t: \"Number of Ways to Split Array\", d: \"Medium\", s: \"number-of-ways-to-split-array\" },\n { n: 2271, t: \"Maximum White Tiles Covered by a Carpet\", d: \"Medium\", s: \"maximum-white-tiles-covered-by-a-carpet\" },\n { n: 2272, t: \"Substring With Largest Variance\", d: \"Hard\", s: \"substring-with-largest-variance\" },\n { n: 2273, t: \"Find Resultant Array After Removing Anagrams\", d: \"Easy\", s: \"find-resultant-array-after-removing-anagrams\" },\n { n: 2274, t: \"Maximum Consecutive Floors Without Special Floors\", d: \"Medium\", s: \"maximum-consecutive-floors-without-special-floors\" },\n { n: 2275, t: \"Largest Combination With Bitwise AND Greater Than Zero\", d: \"Medium\", s: \"largest-combination-with-bitwise-and-greater-than-zero\" },\n { n: 2276, t: \"Count Integers in Intervals\", d: \"Hard\", s: \"count-integers-in-intervals\" },\n { n: 2277, t: \"Closest Node to Path in Tree\", d: \"Hard\", s: \"closest-node-to-path-in-tree\" },\n { n: 2278, t: \"Percentage of Letter in String\", d: \"Easy\", s: \"percentage-of-letter-in-string\" },\n { n: 2279, t: \"Maximum Bags With Full Capacity of Rocks\", d: \"Medium\", s: \"maximum-bags-with-full-capacity-of-rocks\" },\n { n: 2280, t: \"Minimum Lines to Represent a Line Chart\", d: \"Medium\", s: \"minimum-lines-to-represent-a-line-chart\" },\n { n: 2281, t: \"Sum of Total Strength of Wizards\", d: \"Hard\", s: \"sum-of-total-strength-of-wizards\" },\n { n: 2282, t: \"Number of People That Can Be Seen in a Grid\", d: \"Medium\", s: \"number-of-people-that-can-be-seen-in-a-grid\" },\n { n: 2283, t: \"Check if Number Has Equal Digit Count and Digit Value\", d: \"Easy\", s: \"check-if-number-has-equal-digit-count-and-digit-value\" },\n { n: 2284, t: \"Sender With Largest Word Count\", d: \"Medium\", s: \"sender-with-largest-word-count\" },\n { n: 2285, t: \"Maximum Total Importance of Roads\", d: \"Medium\", s: \"maximum-total-importance-of-roads\" },\n { n: 2286, t: \"Booking Concert Tickets in Groups\", d: \"Hard\", s: \"booking-concert-tickets-in-groups\" },\n { n: 2287, t: \"Rearrange Characters to Make Target String\", d: \"Easy\", s: \"rearrange-characters-to-make-target-string\" },\n { n: 2288, t: \"Apply Discount to Prices\", d: \"Medium\", s: \"apply-discount-to-prices\" },\n { n: 2289, t: \"Steps to Make Array Non-decreasing\", d: \"Medium\", s: \"steps-to-make-array-non-decreasing\" },\n { n: 2290, t: \"Minimum Obstacle Removal to Reach Corner\", d: \"Hard\", s: \"minimum-obstacle-removal-to-reach-corner\" },\n { n: 2291, t: \"Maximum Profit From Trading Stocks\", d: \"Medium\", s: \"maximum-profit-from-trading-stocks\" },\n { n: 2292, t: \"Products With Three or More Orders in Two Consecutive Years\", d: \"Medium\", s: \"products-with-three-or-more-orders-in-two-consecutive-years\" },\n { n: 2293, t: \"Min Max Game\", d: \"Easy\", s: \"min-max-game\" },\n { n: 2294, t: \"Partition Array Such That Maximum Difference Is K\", d: \"Medium\", s: \"partition-array-such-that-maximum-difference-is-k\" },\n { n: 2295, t: \"Replace Elements in an Array\", d: \"Medium\", s: \"replace-elements-in-an-array\" },\n { n: 2296, t: \"Design a Text Editor\", d: \"Hard\", s: \"design-a-text-editor\" },\n { n: 2297, t: \"Jump Game VIII\", d: \"Medium\", s: \"jump-game-viii\" },\n { n: 2298, t: \"Tasks Count in the Weekend\", d: \"Medium\", s: \"tasks-count-in-the-weekend\" },\n { n: 2299, t: \"Strong Password Checker II\", d: \"Easy\", s: \"strong-password-checker-ii\" },\n { n: 2300, t: \"Successful Pairs of Spells and Potions\", d: \"Medium\", s: \"successful-pairs-of-spells-and-potions\" },\n { n: 2301, t: \"Match Substring After Replacement\", d: \"Hard\", s: \"match-substring-after-replacement\" },\n { n: 2302, t: \"Count Subarrays With Score Less Than K\", d: \"Hard\", s: \"count-subarrays-with-score-less-than-k\" },\n { n: 2303, t: \"Calculate Amount Paid in Taxes\", d: \"Easy\", s: \"calculate-amount-paid-in-taxes\" },\n { n: 2304, t: \"Minimum Path Cost in a Grid\", d: \"Medium\", s: \"minimum-path-cost-in-a-grid\" },\n { n: 2305, t: \"Fair Distribution of Cookies\", d: \"Medium\", s: \"fair-distribution-of-cookies\" },\n { n: 2306, t: \"Naming a Company\", d: \"Hard\", s: \"naming-a-company\" },\n { n: 2307, t: \"Check for Contradictions in Equations\", d: \"Hard\", s: \"check-for-contradictions-in-equations\" },\n { n: 2308, t: \"Arrange Table by Gender\", d: \"Medium\", s: \"arrange-table-by-gender\" },\n { n: 2309, t: \"Greatest English Letter in Upper and Lower Case\", d: \"Easy\", s: \"greatest-english-letter-in-upper-and-lower-case\" },\n { n: 2310, t: \"Sum of Numbers With Units Digit K\", d: \"Medium\", s: \"sum-of-numbers-with-units-digit-k\" },\n { n: 2311, t: \"Longest Binary Subsequence Less Than or Equal to K\", d: \"Medium\", s: \"longest-binary-subsequence-less-than-or-equal-to-k\" },\n { n: 2312, t: \"Selling Pieces of Wood\", d: \"Hard\", s: \"selling-pieces-of-wood\" },\n { n: 2313, t: \"Minimum Flips in Binary Tree to Get Result\", d: \"Hard\", s: \"minimum-flips-in-binary-tree-to-get-result\" },\n { n: 2314, t: \"The First Day of the Maximum Recorded Degree in Each City\", d: \"Medium\", s: \"the-first-day-of-the-maximum-recorded-degree-in-each-city\" },\n { n: 2315, t: \"Count Asterisks\", d: \"Easy\", s: \"count-asterisks\" },\n { n: 2316, t: \"Count Unreachable Pairs of Nodes in an Undirected Graph\", d: \"Medium\", s: \"count-unreachable-pairs-of-nodes-in-an-undirected-graph\" },\n { n: 2317, t: \"Maximum XOR After Operations\", d: \"Medium\", s: \"maximum-xor-after-operations\" },\n { n: 2318, t: \"Number of Distinct Roll Sequences\", d: \"Hard\", s: \"number-of-distinct-roll-sequences\" },\n { n: 2319, t: \"Check if Matrix Is X-Matrix\", d: \"Easy\", s: \"check-if-matrix-is-x-matrix\" },\n { n: 2320, t: \"Count Number of Ways to Place Houses\", d: \"Medium\", s: \"count-number-of-ways-to-place-houses\" },\n { n: 2321, t: \"Maximum Score Of Spliced Array\", d: \"Hard\", s: \"maximum-score-of-spliced-array\" },\n { n: 2322, t: \"Minimum Score After Removals on a Tree\", d: \"Hard\", s: \"minimum-score-after-removals-on-a-tree\" },\n { n: 2323, t: \"Find Minimum Time to Finish All Jobs II\", d: \"Medium\", s: \"find-minimum-time-to-finish-all-jobs-ii\" },\n { n: 2324, t: \"Product Sales Analysis IV\", d: \"Medium\", s: \"product-sales-analysis-iv\" },\n { n: 2325, t: \"Decode the Message\", d: \"Easy\", s: \"decode-the-message\" },\n { n: 2326, t: \"Spiral Matrix IV\", d: \"Medium\", s: \"spiral-matrix-iv\" },\n { n: 2327, t: \"Number of People Aware of a Secret\", d: \"Medium\", s: \"number-of-people-aware-of-a-secret\" },\n { n: 2328, t: \"Number of Increasing Paths in a Grid\", d: \"Hard\", s: \"number-of-increasing-paths-in-a-grid\" },\n { n: 2329, t: \"Product Sales Analysis V\", d: \"Easy\", s: \"product-sales-analysis-v\" },\n { n: 2330, t: \"Valid Palindrome IV\", d: \"Medium\", s: \"valid-palindrome-iv\" },\n { n: 2331, t: \"Evaluate Boolean Binary Tree\", d: \"Easy\", s: \"evaluate-boolean-binary-tree\" },\n { n: 2332, t: \"The Latest Time to Catch a Bus\", d: \"Medium\", s: \"the-latest-time-to-catch-a-bus\" },\n { n: 2333, t: \"Minimum Sum of Squared Difference\", d: \"Medium\", s: \"minimum-sum-of-squared-difference\" },\n { n: 2334, t: \"Subarray With Elements Greater Than Varying Threshold\", d: \"Hard\", s: \"subarray-with-elements-greater-than-varying-threshold\" },\n { n: 2335, t: \"Minimum Amount of Time to Fill Cups\", d: \"Easy\", s: \"minimum-amount-of-time-to-fill-cups\" },\n { n: 2336, t: \"Smallest Number in Infinite Set\", d: \"Medium\", s: \"smallest-number-in-infinite-set\" },\n { n: 2337, t: \"Move Pieces to Obtain a String\", d: \"Medium\", s: \"move-pieces-to-obtain-a-string\" },\n { n: 2338, t: \"Count the Number of Ideal Arrays\", d: \"Hard\", s: \"count-the-number-of-ideal-arrays\" },\n { n: 2339, t: \"All the Matches of the League\", d: \"Easy\", s: \"all-the-matches-of-the-league\" },\n { n: 2340, t: \"Minimum Adjacent Swaps to Make a Valid Array\", d: \"Medium\", s: \"minimum-adjacent-swaps-to-make-a-valid-array\" },\n { n: 2341, t: \"Maximum Number of Pairs in Array\", d: \"Easy\", s: \"maximum-number-of-pairs-in-array\" },\n { n: 2342, t: \"Max Sum of a Pair With Equal Sum of Digits\", d: \"Medium\", s: \"max-sum-of-a-pair-with-equal-sum-of-digits\" },\n { n: 2343, t: \"Query Kth Smallest Trimmed Number\", d: \"Medium\", s: \"query-kth-smallest-trimmed-number\" },\n { n: 2344, t: \"Minimum Deletions to Make Array Divisible\", d: \"Hard\", s: \"minimum-deletions-to-make-array-divisible\" },\n { n: 2345, t: \"Finding the Number of Visible Mountains\", d: \"Medium\", s: \"finding-the-number-of-visible-mountains\" },\n { n: 2346, t: \"Compute the Rank as a Percentage\", d: \"Medium\", s: \"compute-the-rank-as-a-percentage\" },\n { n: 2347, t: \"Best Poker Hand\", d: \"Easy\", s: \"best-poker-hand\" },\n { n: 2348, t: \"Number of Zero-Filled Subarrays\", d: \"Medium\", s: \"number-of-zero-filled-subarrays\" },\n { n: 2349, t: \"Design a Number Container System\", d: \"Medium\", s: \"design-a-number-container-system\" },\n { n: 2350, t: \"Shortest Impossible Sequence of Rolls\", d: \"Hard\", s: \"shortest-impossible-sequence-of-rolls\" },\n { n: 2351, t: \"First Letter to Appear Twice\", d: \"Easy\", s: \"first-letter-to-appear-twice\" },\n { n: 2352, t: \"Equal Row and Column Pairs\", d: \"Medium\", s: \"equal-row-and-column-pairs\" },\n { n: 2353, t: \"Design a Food Rating System\", d: \"Medium\", s: \"design-a-food-rating-system\" },\n { n: 2354, t: \"Number of Excellent Pairs\", d: \"Hard\", s: \"number-of-excellent-pairs\" },\n { n: 2355, t: \"Maximum Number of Books You Can Take\", d: \"Hard\", s: \"maximum-number-of-books-you-can-take\" },\n { n: 2356, t: \"Number of Unique Subjects Taught by Each Teacher\", d: \"Easy\", s: \"number-of-unique-subjects-taught-by-each-teacher\" },\n { n: 2357, t: \"Make Array Zero by Subtracting Equal Amounts\", d: \"Easy\", s: \"make-array-zero-by-subtracting-equal-amounts\" },\n { n: 2358, t: \"Maximum Number of Groups Entering a Competition\", d: \"Medium\", s: \"maximum-number-of-groups-entering-a-competition\" },\n { n: 2359, t: \"Find Closest Node to Given Two Nodes\", d: \"Medium\", s: \"find-closest-node-to-given-two-nodes\" },\n { n: 2360, t: \"Longest Cycle in a Graph\", d: \"Hard\", s: \"longest-cycle-in-a-graph\" },\n { n: 2361, t: \"Minimum Costs Using the Train Line\", d: \"Hard\", s: \"minimum-costs-using-the-train-line\" },\n { n: 2362, t: \"Generate the Invoice\", d: \"Hard\", s: \"generate-the-invoice\" },\n { n: 2363, t: \"Merge Similar Items\", d: \"Easy\", s: \"merge-similar-items\" },\n { n: 2364, t: \"Count Number of Bad Pairs\", d: \"Medium\", s: \"count-number-of-bad-pairs\" },\n { n: 2365, t: \"Task Scheduler II\", d: \"Medium\", s: \"task-scheduler-ii\" },\n { n: 2366, t: \"Minimum Replacements to Sort the Array\", d: \"Hard\", s: \"minimum-replacements-to-sort-the-array\" },\n { n: 2367, t: \"Number of Arithmetic Triplets\", d: \"Easy\", s: \"number-of-arithmetic-triplets\" },\n { n: 2368, t: \"Reachable Nodes With Restrictions\", d: \"Medium\", s: \"reachable-nodes-with-restrictions\" },\n { n: 2369, t: \"Check if There is a Valid Partition For The Array\", d: \"Medium\", s: \"check-if-there-is-a-valid-partition-for-the-array\" },\n { n: 2370, t: \"Longest Ideal Subsequence\", d: \"Medium\", s: \"longest-ideal-subsequence\" },\n { n: 2371, t: \"Minimize Maximum Value in a Grid\", d: \"Hard\", s: \"minimize-maximum-value-in-a-grid\" },\n { n: 2372, t: \"Calculate the Influence of Each Salesperson\", d: \"Medium\", s: \"calculate-the-influence-of-each-salesperson\" },\n { n: 2373, t: \"Largest Local Values in a Matrix\", d: \"Easy\", s: \"largest-local-values-in-a-matrix\" },\n { n: 2374, t: \"Node With Highest Edge Score\", d: \"Medium\", s: \"node-with-highest-edge-score\" },\n { n: 2375, t: \"Construct Smallest Number From DI String\", d: \"Medium\", s: \"construct-smallest-number-from-di-string\" },\n { n: 2376, t: \"Count Special Integers\", d: \"Hard\", s: \"count-special-integers\" },\n { n: 2377, t: \"Sort the Olympic Table\", d: \"Easy\", s: \"sort-the-olympic-table\" },\n { n: 2378, t: \"Choose Edges to Maximize Score in a Tree\", d: \"Medium\", s: \"choose-edges-to-maximize-score-in-a-tree\" },\n { n: 2379, t: \"Minimum Recolors to Get K Consecutive Black Blocks\", d: \"Easy\", s: \"minimum-recolors-to-get-k-consecutive-black-blocks\" },\n { n: 2380, t: \"Time Needed to Rearrange a Binary String\", d: \"Medium\", s: \"time-needed-to-rearrange-a-binary-string\" },\n { n: 2381, t: \"Shifting Letters II\", d: \"Medium\", s: \"shifting-letters-ii\" },\n { n: 2382, t: \"Maximum Segment Sum After Removals\", d: \"Hard\", s: \"maximum-segment-sum-after-removals\" },\n { n: 2383, t: \"Minimum Hours of Training to Win a Competition\", d: \"Easy\", s: \"minimum-hours-of-training-to-win-a-competition\" },\n { n: 2384, t: \"Largest Palindromic Number\", d: \"Medium\", s: \"largest-palindromic-number\" },\n { n: 2385, t: \"Amount of Time for Binary Tree to Be Infected\", d: \"Medium\", s: \"amount-of-time-for-binary-tree-to-be-infected\" },\n { n: 2386, t: \"Find the K-Sum of an Array\", d: \"Hard\", s: \"find-the-k-sum-of-an-array\" },\n { n: 2387, t: \"Median of a Row Wise Sorted Matrix\", d: \"Medium\", s: \"median-of-a-row-wise-sorted-matrix\" },\n { n: 2388, t: \"Change Null Values in a Table to the Previous Value\", d: \"Medium\", s: \"change-null-values-in-a-table-to-the-previous-value\" },\n { n: 2389, t: \"Longest Subsequence With Limited Sum\", d: \"Easy\", s: \"longest-subsequence-with-limited-sum\" },\n { n: 2390, t: \"Removing Stars From a String\", d: \"Medium\", s: \"removing-stars-from-a-string\" },\n { n: 2391, t: \"Minimum Amount of Time to Collect Garbage\", d: \"Medium\", s: \"minimum-amount-of-time-to-collect-garbage\" },\n { n: 2392, t: \"Build a Matrix With Conditions\", d: \"Hard\", s: \"build-a-matrix-with-conditions\" },\n { n: 2393, t: \"Count Strictly Increasing Subarrays\", d: \"Medium\", s: \"count-strictly-increasing-subarrays\" },\n { n: 2394, t: \"Employees With Deductions\", d: \"Medium\", s: \"employees-with-deductions\" },\n { n: 2395, t: \"Find Subarrays With Equal Sum\", d: \"Easy\", s: \"find-subarrays-with-equal-sum\" },\n { n: 2396, t: \"Strictly Palindromic Number\", d: \"Medium\", s: \"strictly-palindromic-number\" },\n { n: 2397, t: \"Maximum Rows Covered by Columns\", d: \"Medium\", s: \"maximum-rows-covered-by-columns\" },\n { n: 2398, t: \"Maximum Number of Robots Within Budget\", d: \"Hard\", s: \"maximum-number-of-robots-within-budget\" },\n { n: 2399, t: \"Check Distances Between Same Letters\", d: \"Easy\", s: \"check-distances-between-same-letters\" },\n { n: 2400, t: \"Number of Ways to Reach a Position After Exactly k Steps\", d: \"Medium\", s: \"number-of-ways-to-reach-a-position-after-exactly-k-steps\" },\n { n: 2401, t: \"Longest Nice Subarray\", d: \"Medium\", s: \"longest-nice-subarray\" },\n { n: 2402, t: \"Meeting Rooms III\", d: \"Hard\", s: \"meeting-rooms-iii\" },\n { n: 2403, t: \"Minimum Time to Kill All Monsters\", d: \"Hard\", s: \"minimum-time-to-kill-all-monsters\" },\n { n: 2404, t: \"Most Frequent Even Element\", d: \"Easy\", s: \"most-frequent-even-element\" },\n { n: 2405, t: \"Optimal Partition of String\", d: \"Medium\", s: \"optimal-partition-of-string\" },\n { n: 2406, t: \"Divide Intervals Into Minimum Number of Groups\", d: \"Medium\", s: \"divide-intervals-into-minimum-number-of-groups\" },\n { n: 2407, t: \"Longest Increasing Subsequence II\", d: \"Hard\", s: \"longest-increasing-subsequence-ii\" },\n { n: 2408, t: \"Design SQL\", d: \"Medium\", s: \"design-sql\" },\n { n: 2409, t: \"Count Days Spent Together\", d: \"Easy\", s: \"count-days-spent-together\" },\n { n: 2410, t: \"Maximum Matching of Players With Trainers\", d: \"Medium\", s: \"maximum-matching-of-players-with-trainers\" },\n { n: 2411, t: \"Smallest Subarrays With Maximum Bitwise OR\", d: \"Medium\", s: \"smallest-subarrays-with-maximum-bitwise-or\" },\n { n: 2412, t: \"Minimum Money Required Before Transactions\", d: \"Hard\", s: \"minimum-money-required-before-transactions\" },\n { n: 2413, t: \"Smallest Even Multiple\", d: \"Easy\", s: \"smallest-even-multiple\" },\n { n: 2414, t: \"Length of the Longest Alphabetical Continuous Substring\", d: \"Medium\", s: \"length-of-the-longest-alphabetical-continuous-substring\" },\n { n: 2415, t: \"Reverse Odd Levels of Binary Tree\", d: \"Medium\", s: \"reverse-odd-levels-of-binary-tree\" },\n { n: 2416, t: \"Sum of Prefix Scores of Strings\", d: \"Hard\", s: \"sum-of-prefix-scores-of-strings\" },\n { n: 2417, t: \"Closest Fair Integer\", d: \"Medium\", s: \"closest-fair-integer\" },\n { n: 2418, t: \"Sort the People\", d: \"Easy\", s: \"sort-the-people\" },\n { n: 2419, t: \"Longest Subarray With Maximum Bitwise AND\", d: \"Medium\", s: \"longest-subarray-with-maximum-bitwise-and\" },\n { n: 2420, t: \"Find All Good Indices\", d: \"Medium\", s: \"find-all-good-indices\" },\n { n: 2421, t: \"Number of Good Paths\", d: \"Hard\", s: \"number-of-good-paths\" },\n { n: 2422, t: \"Merge Operations to Turn Array Into a Palindrome\", d: \"Medium\", s: \"merge-operations-to-turn-array-into-a-palindrome\" },\n { n: 2423, t: \"Remove Letter To Equalize Frequency\", d: \"Easy\", s: \"remove-letter-to-equalize-frequency\" },\n { n: 2424, t: \"Longest Uploaded Prefix\", d: \"Medium\", s: \"longest-uploaded-prefix\" },\n { n: 2425, t: \"Bitwise XOR of All Pairings\", d: \"Medium\", s: \"bitwise-xor-of-all-pairings\" },\n { n: 2426, t: \"Number of Pairs Satisfying Inequality\", d: \"Hard\", s: \"number-of-pairs-satisfying-inequality\" },\n { n: 2427, t: \"Number of Common Factors\", d: \"Easy\", s: \"number-of-common-factors\" },\n { n: 2428, t: \"Maximum Sum of an Hourglass\", d: \"Medium\", s: \"maximum-sum-of-an-hourglass\" },\n { n: 2429, t: \"Minimize XOR\", d: \"Medium\", s: \"minimize-xor\" },\n { n: 2430, t: \"Maximum Deletions on a String\", d: \"Hard\", s: \"maximum-deletions-on-a-string\" },\n { n: 2431, t: \"Maximize Total Tastiness of Purchased Fruits\", d: \"Medium\", s: \"maximize-total-tastiness-of-purchased-fruits\" },\n { n: 2432, t: \"The Employee That Worked on the Longest Task\", d: \"Easy\", s: \"the-employee-that-worked-on-the-longest-task\" },\n { n: 2433, t: \"Find The Original Array of Prefix Xor\", d: \"Medium\", s: \"find-the-original-array-of-prefix-xor\" },\n { n: 2434, t: \"Using a Robot to Print the Lexicographically Smallest String\", d: \"Medium\", s: \"using-a-robot-to-print-the-lexicographically-smallest-string\" },\n { n: 2435, t: \"Paths in Matrix Whose Sum Is Divisible by K\", d: \"Hard\", s: \"paths-in-matrix-whose-sum-is-divisible-by-k\" },\n { n: 2436, t: \"Minimum Split Into Subarrays With GCD Greater Than One\", d: \"Medium\", s: \"minimum-split-into-subarrays-with-gcd-greater-than-one\" },\n { n: 2437, t: \"Number of Valid Clock Times\", d: \"Easy\", s: \"number-of-valid-clock-times\" },\n { n: 2438, t: \"Range Product Queries of Powers\", d: \"Medium\", s: \"range-product-queries-of-powers\" },\n { n: 2439, t: \"Minimize Maximum of Array\", d: \"Medium\", s: \"minimize-maximum-of-array\" },\n { n: 2440, t: \"Create Components With Same Value\", d: \"Hard\", s: \"create-components-with-same-value\" },\n { n: 2441, t: \"Largest Positive Integer That Exists With Its Negative\", d: \"Easy\", s: \"largest-positive-integer-that-exists-with-its-negative\" },\n { n: 2442, t: \"Count Number of Distinct Integers After Reverse Operations\", d: \"Medium\", s: \"count-number-of-distinct-integers-after-reverse-operations\" },\n { n: 2443, t: \"Sum of Number and Its Reverse\", d: \"Medium\", s: \"sum-of-number-and-its-reverse\" },\n { n: 2444, t: \"Count Subarrays With Fixed Bounds\", d: \"Hard\", s: \"count-subarrays-with-fixed-bounds\" },\n { n: 2445, t: \"Number of Nodes With Value One\", d: \"Medium\", s: \"number-of-nodes-with-value-one\" },\n { n: 2446, t: \"Determine if Two Events Have Conflict\", d: \"Easy\", s: \"determine-if-two-events-have-conflict\" },\n { n: 2447, t: \"Number of Subarrays With GCD Equal to K\", d: \"Medium\", s: \"number-of-subarrays-with-gcd-equal-to-k\" },\n { n: 2448, t: \"Minimum Cost to Make Array Equal\", d: \"Hard\", s: \"minimum-cost-to-make-array-equal\" },\n { n: 2449, t: \"Minimum Number of Operations to Make Arrays Similar\", d: \"Hard\", s: \"minimum-number-of-operations-to-make-arrays-similar\" },\n { n: 2450, t: \"Number of Distinct Binary Strings After Applying Operations\", d: \"Medium\", s: \"number-of-distinct-binary-strings-after-applying-operations\" },\n { n: 2451, t: \"Odd String Difference\", d: \"Easy\", s: \"odd-string-difference\" },\n { n: 2452, t: \"Words Within Two Edits of Dictionary\", d: \"Medium\", s: \"words-within-two-edits-of-dictionary\" },\n { n: 2453, t: \"Destroy Sequential Targets\", d: \"Medium\", s: \"destroy-sequential-targets\" },\n { n: 2454, t: \"Next Greater Element IV\", d: \"Hard\", s: \"next-greater-element-iv\" },\n { n: 2455, t: \"Average Value of Even Numbers That Are Divisible by Three\", d: \"Easy\", s: \"average-value-of-even-numbers-that-are-divisible-by-three\" },\n { n: 2456, t: \"Most Popular Video Creator\", d: \"Medium\", s: \"most-popular-video-creator\" },\n { n: 2457, t: \"Minimum Addition to Make Integer Beautiful\", d: \"Medium\", s: \"minimum-addition-to-make-integer-beautiful\" },\n { n: 2458, t: \"Height of Binary Tree After Subtree Removal Queries\", d: \"Hard\", s: \"height-of-binary-tree-after-subtree-removal-queries\" },\n { n: 2459, t: \"Sort Array by Moving Items to Empty Space\", d: \"Hard\", s: \"sort-array-by-moving-items-to-empty-space\" },\n { n: 2460, t: \"Apply Operations to an Array\", d: \"Easy\", s: \"apply-operations-to-an-array\" },\n { n: 2461, t: \"Maximum Sum of Distinct Subarrays With Length K\", d: \"Medium\", s: \"maximum-sum-of-distinct-subarrays-with-length-k\" },\n { n: 2462, t: \"Total Cost to Hire K Workers\", d: \"Medium\", s: \"total-cost-to-hire-k-workers\" },\n { n: 2463, t: \"Minimum Total Distance Traveled\", d: \"Hard\", s: \"minimum-total-distance-traveled\" },\n { n: 2464, t: \"Minimum Subarrays in a Valid Split\", d: \"Medium\", s: \"minimum-subarrays-in-a-valid-split\" },\n { n: 2465, t: \"Number of Distinct Averages\", d: \"Easy\", s: \"number-of-distinct-averages\" },\n { n: 2466, t: \"Count Ways To Build Good Strings\", d: \"Medium\", s: \"count-ways-to-build-good-strings\" },\n { n: 2467, t: \"Most Profitable Path in a Tree\", d: \"Medium\", s: \"most-profitable-path-in-a-tree\" },\n { n: 2468, t: \"Split Message Based on Limit\", d: \"Hard\", s: \"split-message-based-on-limit\" },\n { n: 2469, t: \"Convert the Temperature\", d: \"Easy\", s: \"convert-the-temperature\" },\n { n: 2470, t: \"Number of Subarrays With LCM Equal to K\", d: \"Medium\", s: \"number-of-subarrays-with-lcm-equal-to-k\" },\n { n: 2471, t: \"Minimum Number of Operations to Sort a Binary Tree by Level\", d: \"Medium\", s: \"minimum-number-of-operations-to-sort-a-binary-tree-by-level\" },\n { n: 2472, t: \"Maximum Number of Non-overlapping Palindrome Substrings\", d: \"Hard\", s: \"maximum-number-of-non-overlapping-palindrome-substrings\" },\n { n: 2473, t: \"Minimum Cost to Buy Apples\", d: \"Medium\", s: \"minimum-cost-to-buy-apples\" },\n { n: 2474, t: \"Customers With Strictly Increasing Purchases\", d: \"Hard\", s: \"customers-with-strictly-increasing-purchases\" },\n { n: 2475, t: \"Number of Unequal Triplets in Array\", d: \"Easy\", s: \"number-of-unequal-triplets-in-array\" },\n { n: 2476, t: \"Closest Nodes Queries in a Binary Search Tree\", d: \"Medium\", s: \"closest-nodes-queries-in-a-binary-search-tree\" },\n { n: 2477, t: \"Minimum Fuel Cost to Report to the Capital\", d: \"Medium\", s: \"minimum-fuel-cost-to-report-to-the-capital\" },\n { n: 2478, t: \"Number of Beautiful Partitions\", d: \"Hard\", s: \"number-of-beautiful-partitions\" },\n { n: 2479, t: \"Maximum XOR of Two Non-Overlapping Subtrees\", d: \"Hard\", s: \"maximum-xor-of-two-non-overlapping-subtrees\" },\n { n: 2480, t: \"Form a Chemical Bond\", d: \"Easy\", s: \"form-a-chemical-bond\" },\n { n: 2481, t: \"Minimum Cuts to Divide a Circle\", d: \"Easy\", s: \"minimum-cuts-to-divide-a-circle\" },\n { n: 2482, t: \"Difference Between Ones and Zeros in Row and Column\", d: \"Medium\", s: \"difference-between-ones-and-zeros-in-row-and-column\" },\n { n: 2483, t: \"Minimum Penalty for a Shop\", d: \"Medium\", s: \"minimum-penalty-for-a-shop\" },\n { n: 2484, t: \"Count Palindromic Subsequences\", d: \"Hard\", s: \"count-palindromic-subsequences\" },\n { n: 2485, t: \"Find the Pivot Integer\", d: \"Easy\", s: \"find-the-pivot-integer\" },\n { n: 2486, t: \"Append Characters to String to Make Subsequence\", d: \"Medium\", s: \"append-characters-to-string-to-make-subsequence\" },\n { n: 2487, t: \"Remove Nodes From Linked List\", d: \"Medium\", s: \"remove-nodes-from-linked-list\" },\n { n: 2488, t: \"Count Subarrays With Median K\", d: \"Hard\", s: \"count-subarrays-with-median-k\" },\n { n: 2489, t: \"Number of Substrings With Fixed Ratio\", d: \"Medium\", s: \"number-of-substrings-with-fixed-ratio\" },\n { n: 2490, t: \"Circular Sentence\", d: \"Easy\", s: \"circular-sentence\" },\n { n: 2491, t: \"Divide Players Into Teams of Equal Skill\", d: \"Medium\", s: \"divide-players-into-teams-of-equal-skill\" },\n { n: 2492, t: \"Minimum Score of a Path Between Two Cities\", d: \"Medium\", s: \"minimum-score-of-a-path-between-two-cities\" },\n { n: 2493, t: \"Divide Nodes Into the Maximum Number of Groups\", d: \"Hard\", s: \"divide-nodes-into-the-maximum-number-of-groups\" },\n { n: 2494, t: \"Merge Overlapping Events in the Same Hall\", d: \"Hard\", s: \"merge-overlapping-events-in-the-same-hall\" },\n { n: 2495, t: \"Number of Subarrays Having Even Product\", d: \"Medium\", s: \"number-of-subarrays-having-even-product\" },\n { n: 2496, t: \"Maximum Value of a String in an Array\", d: \"Easy\", s: \"maximum-value-of-a-string-in-an-array\" },\n { n: 2497, t: \"Maximum Star Sum of a Graph\", d: \"Medium\", s: \"maximum-star-sum-of-a-graph\" },\n { n: 2498, t: \"Frog Jump II\", d: \"Medium\", s: \"frog-jump-ii\" },\n { n: 2499, t: \"Minimum Total Cost to Make Arrays Unequal\", d: \"Hard\", s: \"minimum-total-cost-to-make-arrays-unequal\" },\n { n: 2500, t: \"Delete Greatest Value in Each Row\", d: \"Easy\", s: \"delete-greatest-value-in-each-row\" },\n { n: 2501, t: \"Longest Square Streak in an Array\", d: \"Medium\", s: \"longest-square-streak-in-an-array\" },\n { n: 2502, t: \"Design Memory Allocator\", d: \"Medium\", s: \"design-memory-allocator\" },\n { n: 2503, t: \"Maximum Number of Points From Grid Queries\", d: \"Hard\", s: \"maximum-number-of-points-from-grid-queries\" },\n { n: 2504, t: \"Concatenate the Name and the Profession\", d: \"Easy\", s: \"concatenate-the-name-and-the-profession\" },\n { n: 2505, t: \"Bitwise OR of All Subsequence Sums\", d: \"Medium\", s: \"bitwise-or-of-all-subsequence-sums\" },\n { n: 2506, t: \"Count Pairs Of Similar Strings\", d: \"Easy\", s: \"count-pairs-of-similar-strings\" },\n { n: 2507, t: \"Smallest Value After Replacing With Sum of Prime Factors\", d: \"Medium\", s: \"smallest-value-after-replacing-with-sum-of-prime-factors\" },\n { n: 2508, t: \"Add Edges to Make Degrees of All Nodes Even\", d: \"Hard\", s: \"add-edges-to-make-degrees-of-all-nodes-even\" },\n { n: 2509, t: \"Cycle Length Queries in a Tree\", d: \"Hard\", s: \"cycle-length-queries-in-a-tree\" },\n { n: 2510, t: \"Check if There is a Path With Equal Number of 0\\'s And 1\\'s\", d: \"Medium\", s: \"check-if-there-is-a-path-with-equal-number-of-0s-and-1s\" },\n { n: 2511, t: \"Maximum Enemy Forts That Can Be Captured\", d: \"Easy\", s: \"maximum-enemy-forts-that-can-be-captured\" },\n { n: 2512, t: \"Reward Top K Students\", d: \"Medium\", s: \"reward-top-k-students\" },\n { n: 2513, t: \"Minimize the Maximum of Two Arrays\", d: \"Medium\", s: \"minimize-the-maximum-of-two-arrays\" },\n { n: 2514, t: \"Count Anagrams\", d: \"Hard\", s: \"count-anagrams\" },\n { n: 2515, t: \"Shortest Distance to Target String in a Circular Array\", d: \"Easy\", s: \"shortest-distance-to-target-string-in-a-circular-array\" },\n { n: 2516, t: \"Take K of Each Character From Left and Right\", d: \"Medium\", s: \"take-k-of-each-character-from-left-and-right\" },\n { n: 2517, t: \"Maximum Tastiness of Candy Basket\", d: \"Medium\", s: \"maximum-tastiness-of-candy-basket\" },\n { n: 2518, t: \"Number of Great Partitions\", d: \"Hard\", s: \"number-of-great-partitions\" },\n { n: 2519, t: \"Count the Number of K-Big Indices\", d: \"Hard\", s: \"count-the-number-of-k-big-indices\" },\n { n: 2520, t: \"Count the Digits That Divide a Number\", d: \"Easy\", s: \"count-the-digits-that-divide-a-number\" },\n { n: 2521, t: \"Distinct Prime Factors of Product of Array\", d: \"Medium\", s: \"distinct-prime-factors-of-product-of-array\" },\n { n: 2522, t: \"Partition String Into Substrings With Values at Most K\", d: \"Medium\", s: \"partition-string-into-substrings-with-values-at-most-k\" },\n { n: 2523, t: \"Closest Prime Numbers in Range\", d: \"Medium\", s: \"closest-prime-numbers-in-range\" },\n { n: 2524, t: \"Maximum Frequency Score of a Subarray\", d: \"Hard\", s: \"maximum-frequency-score-of-a-subarray\" },\n { n: 2525, t: \"Categorize Box According to Criteria\", d: \"Easy\", s: \"categorize-box-according-to-criteria\" },\n { n: 2526, t: \"Find Consecutive Integers from a Data Stream\", d: \"Medium\", s: \"find-consecutive-integers-from-a-data-stream\" },\n { n: 2527, t: \"Find Xor-Beauty of Array\", d: \"Medium\", s: \"find-xor-beauty-of-array\" },\n { n: 2528, t: \"Maximize the Minimum Powered City\", d: \"Hard\", s: \"maximize-the-minimum-powered-city\" },\n { n: 2529, t: \"Maximum Count of Positive Integer and Negative Integer\", d: \"Easy\", s: \"maximum-count-of-positive-integer-and-negative-integer\" },\n { n: 2530, t: \"Maximal Score After Applying K Operations\", d: \"Medium\", s: \"maximal-score-after-applying-k-operations\" },\n { n: 2531, t: \"Make Number of Distinct Characters Equal\", d: \"Medium\", s: \"make-number-of-distinct-characters-equal\" },\n { n: 2532, t: \"Time to Cross a Bridge\", d: \"Hard\", s: \"time-to-cross-a-bridge\" },\n { n: 2533, t: \"Number of Good Binary Strings\", d: \"Medium\", s: \"number-of-good-binary-strings\" },\n { n: 2534, t: \"Time Taken to Cross the Door\", d: \"Hard\", s: \"time-taken-to-cross-the-door\" },\n { n: 2535, t: \"Difference Between Element Sum and Digit Sum of an Array\", d: \"Easy\", s: \"difference-between-element-sum-and-digit-sum-of-an-array\" },\n { n: 2536, t: \"Increment Submatrices by One\", d: \"Medium\", s: \"increment-submatrices-by-one\" },\n { n: 2537, t: \"Count the Number of Good Subarrays\", d: \"Medium\", s: \"count-the-number-of-good-subarrays\" },\n { n: 2538, t: \"Difference Between Maximum and Minimum Price Sum\", d: \"Hard\", s: \"difference-between-maximum-and-minimum-price-sum\" },\n { n: 2539, t: \"Count the Number of Good Subsequences\", d: \"Medium\", s: \"count-the-number-of-good-subsequences\" },\n { n: 2540, t: \"Minimum Common Value\", d: \"Easy\", s: \"minimum-common-value\" },\n { n: 2541, t: \"Minimum Operations to Make Array Equal II\", d: \"Medium\", s: \"minimum-operations-to-make-array-equal-ii\" },\n { n: 2542, t: \"Maximum Subsequence Score\", d: \"Medium\", s: \"maximum-subsequence-score\" },\n { n: 2543, t: \"Check if Point Is Reachable\", d: \"Hard\", s: \"check-if-point-is-reachable\" },\n { n: 2544, t: \"Alternating Digit Sum\", d: \"Easy\", s: \"alternating-digit-sum\" },\n { n: 2545, t: \"Sort the Students by Their Kth Score\", d: \"Medium\", s: \"sort-the-students-by-their-kth-score\" },\n { n: 2546, t: \"Apply Bitwise Operations to Make Strings Equal\", d: \"Medium\", s: \"apply-bitwise-operations-to-make-strings-equal\" },\n { n: 2547, t: \"Minimum Cost to Split an Array\", d: \"Hard\", s: \"minimum-cost-to-split-an-array\" },\n { n: 2548, t: \"Maximum Price to Fill a Bag\", d: \"Medium\", s: \"maximum-price-to-fill-a-bag\" },\n { n: 2549, t: \"Count Distinct Numbers on Board\", d: \"Easy\", s: \"count-distinct-numbers-on-board\" },\n { n: 2550, t: \"Count Collisions of Monkeys on a Polygon\", d: \"Medium\", s: \"count-collisions-of-monkeys-on-a-polygon\" },\n { n: 2551, t: \"Put Marbles in Bags\", d: \"Hard\", s: \"put-marbles-in-bags\" },\n { n: 2552, t: \"Count Increasing Quadruplets\", d: \"Hard\", s: \"count-increasing-quadruplets\" },\n { n: 2553, t: \"Separate the Digits in an Array\", d: \"Easy\", s: \"separate-the-digits-in-an-array\" },\n { n: 2554, t: \"Maximum Number of Integers to Choose From a Range I\", d: \"Medium\", s: \"maximum-number-of-integers-to-choose-from-a-range-i\" },\n { n: 2555, t: \"Maximize Win From Two Segments\", d: \"Medium\", s: \"maximize-win-from-two-segments\" },\n { n: 2556, t: \"Disconnect Path in a Binary Matrix by at Most One Flip\", d: \"Medium\", s: \"disconnect-path-in-a-binary-matrix-by-at-most-one-flip\" },\n { n: 2557, t: \"Maximum Number of Integers to Choose From a Range II\", d: \"Medium\", s: \"maximum-number-of-integers-to-choose-from-a-range-ii\" },\n { n: 2558, t: \"Take Gifts From the Richest Pile\", d: \"Easy\", s: \"take-gifts-from-the-richest-pile\" },\n { n: 2559, t: \"Count Vowel Strings in Ranges\", d: \"Medium\", s: \"count-vowel-strings-in-ranges\" },\n { n: 2560, t: \"House Robber IV\", d: \"Medium\", s: \"house-robber-iv\" },\n { n: 2561, t: \"Rearranging Fruits\", d: \"Hard\", s: \"rearranging-fruits\" },\n { n: 2562, t: \"Find the Array Concatenation Value\", d: \"Easy\", s: \"find-the-array-concatenation-value\" },\n { n: 2563, t: \"Count the Number of Fair Pairs\", d: \"Medium\", s: \"count-the-number-of-fair-pairs\" },\n { n: 2564, t: \"Substring XOR Queries\", d: \"Medium\", s: \"substring-xor-queries\" },\n { n: 2565, t: \"Subsequence With the Minimum Score\", d: \"Hard\", s: \"subsequence-with-the-minimum-score\" },\n { n: 2566, t: \"Maximum Difference by Remapping a Digit\", d: \"Easy\", s: \"maximum-difference-by-remapping-a-digit\" },\n { n: 2567, t: \"Minimum Score by Changing Two Elements\", d: \"Medium\", s: \"minimum-score-by-changing-two-elements\" },\n { n: 2568, t: \"Minimum Impossible OR\", d: \"Medium\", s: \"minimum-impossible-or\" },\n { n: 2569, t: \"Handling Sum Queries After Update\", d: \"Hard\", s: \"handling-sum-queries-after-update\" },\n { n: 2570, t: \"Merge Two 2D Arrays by Summing Values\", d: \"Easy\", s: \"merge-two-2d-arrays-by-summing-values\" },\n { n: 2571, t: \"Minimum Operations to Reduce an Integer to 0\", d: \"Medium\", s: \"minimum-operations-to-reduce-an-integer-to-0\" },\n { n: 2572, t: \"Count the Number of Square-Free Subsets\", d: \"Medium\", s: \"count-the-number-of-square-free-subsets\" },\n { n: 2573, t: \"Find the String with LCP\", d: \"Hard\", s: \"find-the-string-with-lcp\" },\n { n: 2574, t: \"Left and Right Sum Differences\", d: \"Easy\", s: \"left-and-right-sum-differences\" },\n { n: 2575, t: \"Find the Divisibility Array of a String\", d: \"Medium\", s: \"find-the-divisibility-array-of-a-string\" },\n { n: 2576, t: \"Find the Maximum Number of Marked Indices\", d: \"Medium\", s: \"find-the-maximum-number-of-marked-indices\" },\n { n: 2577, t: \"Minimum Time to Visit a Cell In a Grid\", d: \"Hard\", s: \"minimum-time-to-visit-a-cell-in-a-grid\" },\n { n: 2578, t: \"Split With Minimum Sum\", d: \"Easy\", s: \"split-with-minimum-sum\" },\n { n: 2579, t: \"Count Total Number of Colored Cells\", d: \"Medium\", s: \"count-total-number-of-colored-cells\" },\n { n: 2580, t: \"Count Ways to Group Overlapping Ranges\", d: \"Medium\", s: \"count-ways-to-group-overlapping-ranges\" },\n { n: 2581, t: \"Count Number of Possible Root Nodes\", d: \"Hard\", s: \"count-number-of-possible-root-nodes\" },\n { n: 2582, t: \"Pass the Pillow\", d: \"Easy\", s: \"pass-the-pillow\" },\n { n: 2583, t: \"Kth Largest Sum in a Binary Tree\", d: \"Medium\", s: \"kth-largest-sum-in-a-binary-tree\" },\n { n: 2584, t: \"Split the Array to Make Coprime Products\", d: \"Hard\", s: \"split-the-array-to-make-coprime-products\" },\n { n: 2585, t: \"Number of Ways to Earn Points\", d: \"Hard\", s: \"number-of-ways-to-earn-points\" },\n { n: 2586, t: \"Count the Number of Vowel Strings in Range\", d: \"Easy\", s: \"count-the-number-of-vowel-strings-in-range\" },\n { n: 2587, t: \"Rearrange Array to Maximize Prefix Score\", d: \"Medium\", s: \"rearrange-array-to-maximize-prefix-score\" },\n { n: 2588, t: \"Count the Number of Beautiful Subarrays\", d: \"Medium\", s: \"count-the-number-of-beautiful-subarrays\" },\n { n: 2589, t: \"Minimum Time to Complete All Tasks\", d: \"Hard\", s: \"minimum-time-to-complete-all-tasks\" },\n { n: 2590, t: \"Design a Todo List\", d: \"Medium\", s: \"design-a-todo-list\" },\n { n: 2591, t: \"Distribute Money to Maximum Children\", d: \"Easy\", s: \"distribute-money-to-maximum-children\" },\n { n: 2592, t: \"Maximize Greatness of an Array\", d: \"Medium\", s: \"maximize-greatness-of-an-array\" },\n { n: 2593, t: \"Find Score of an Array After Marking All Elements\", d: \"Medium\", s: \"find-score-of-an-array-after-marking-all-elements\" },\n { n: 2594, t: \"Minimum Time to Repair Cars\", d: \"Medium\", s: \"minimum-time-to-repair-cars\" },\n { n: 2595, t: \"Number of Even and Odd Bits\", d: \"Easy\", s: \"number-of-even-and-odd-bits\" },\n { n: 2596, t: \"Check Knight Tour Configuration\", d: \"Medium\", s: \"check-knight-tour-configuration\" },\n { n: 2597, t: \"The Number of Beautiful Subsets\", d: \"Medium\", s: \"the-number-of-beautiful-subsets\" },\n { n: 2598, t: \"Smallest Missing Non-negative Integer After Operations\", d: \"Medium\", s: \"smallest-missing-non-negative-integer-after-operations\" },\n { n: 2599, t: \"Make the Prefix Sum Non-negative\", d: \"Medium\", s: \"make-the-prefix-sum-non-negative\" },\n { n: 2600, t: \"K Items With the Maximum Sum\", d: \"Easy\", s: \"k-items-with-the-maximum-sum\" },\n { n: 2601, t: \"Prime Subtraction Operation\", d: \"Medium\", s: \"prime-subtraction-operation\" },\n { n: 2602, t: \"Minimum Operations to Make All Array Elements Equal\", d: \"Medium\", s: \"minimum-operations-to-make-all-array-elements-equal\" },\n { n: 2603, t: \"Collect Coins in a Tree\", d: \"Hard\", s: \"collect-coins-in-a-tree\" },\n { n: 2604, t: \"Minimum Time to Eat All Grains\", d: \"Hard\", s: \"minimum-time-to-eat-all-grains\" },\n { n: 2605, t: \"Form Smallest Number From Two Digit Arrays\", d: \"Easy\", s: \"form-smallest-number-from-two-digit-arrays\" },\n { n: 2606, t: \"Find the Substring With Maximum Cost\", d: \"Medium\", s: \"find-the-substring-with-maximum-cost\" },\n { n: 2607, t: \"Make K-Subarray Sums Equal\", d: \"Medium\", s: \"make-k-subarray-sums-equal\" },\n { n: 2608, t: \"Shortest Cycle in a Graph\", d: \"Hard\", s: \"shortest-cycle-in-a-graph\" },\n { n: 2609, t: \"Find the Longest Balanced Substring of a Binary String\", d: \"Easy\", s: \"find-the-longest-balanced-substring-of-a-binary-string\" },\n { n: 2610, t: \"Convert an Array Into a 2D Array With Conditions\", d: \"Medium\", s: \"convert-an-array-into-a-2d-array-with-conditions\" },\n { n: 2611, t: \"Mice and Cheese\", d: \"Medium\", s: \"mice-and-cheese\" },\n { n: 2612, t: \"Minimum Reverse Operations\", d: \"Hard\", s: \"minimum-reverse-operations\" },\n { n: 2613, t: \"Beautiful Pairs\", d: \"Hard\", s: \"beautiful-pairs\" },\n { n: 2614, t: \"Prime In Diagonal\", d: \"Easy\", s: \"prime-in-diagonal\" },\n { n: 2615, t: \"Sum of Distances\", d: \"Medium\", s: \"sum-of-distances\" },\n { n: 2616, t: \"Minimize the Maximum Difference of Pairs\", d: \"Medium\", s: \"minimize-the-maximum-difference-of-pairs\" },\n { n: 2617, t: \"Minimum Number of Visited Cells in a Grid\", d: \"Hard\", s: \"minimum-number-of-visited-cells-in-a-grid\" },\n { n: 2618, t: \"Check if Object Instance of Class\", d: \"Medium\", s: \"check-if-object-instance-of-class\" },\n { n: 2619, t: \"Array Prototype Last\", d: \"Easy\", s: \"array-prototype-last\" },\n { n: 2620, t: \"Counter\", d: \"Easy\", s: \"counter\" },\n { n: 2621, t: \"Sleep\", d: \"Easy\", s: \"sleep\" },\n { n: 2622, t: \"Cache With Time Limit\", d: \"Medium\", s: \"cache-with-time-limit\" },\n { n: 2623, t: \"Memoize\", d: \"Medium\", s: \"memoize\" },\n { n: 2624, t: \"Snail Traversal\", d: \"Medium\", s: \"snail-traversal\" },\n { n: 2625, t: \"Flatten Deeply Nested Array\", d: \"Medium\", s: \"flatten-deeply-nested-array\" },\n { n: 2626, t: \"Array Reduce Transformation\", d: \"Easy\", s: \"array-reduce-transformation\" },\n { n: 2627, t: \"Debounce\", d: \"Medium\", s: \"debounce\" },\n { n: 2628, t: \"JSON Deep Equal\", d: \"Medium\", s: \"json-deep-equal\" },\n { n: 2629, t: \"Function Composition\", d: \"Easy\", s: \"function-composition\" },\n { n: 2630, t: \"Memoize II\", d: \"Hard\", s: \"memoize-ii\" },\n { n: 2631, t: \"Group By\", d: \"Medium\", s: \"group-by\" },\n { n: 2632, t: \"Curry\", d: \"Medium\", s: \"curry\" },\n { n: 2633, t: \"Convert Object to JSON String\", d: \"Medium\", s: \"convert-object-to-json-string\" },\n { n: 2634, t: \"Filter Elements from Array\", d: \"Easy\", s: \"filter-elements-from-array\" },\n { n: 2635, t: \"Apply Transform Over Each Element in Array\", d: \"Easy\", s: \"apply-transform-over-each-element-in-array\" },\n { n: 2636, t: \"Promise Pool\", d: \"Medium\", s: \"promise-pool\" },\n { n: 2637, t: \"Promise Time Limit\", d: \"Medium\", s: \"promise-time-limit\" },\n { n: 2638, t: \"Count the Number of K-Free Subsets\", d: \"Medium\", s: \"count-the-number-of-k-free-subsets\" },\n { n: 2639, t: \"Find the Width of Columns of a Grid\", d: \"Easy\", s: \"find-the-width-of-columns-of-a-grid\" },\n { n: 2640, t: \"Find the Score of All Prefixes of an Array\", d: \"Medium\", s: \"find-the-score-of-all-prefixes-of-an-array\" },\n { n: 2641, t: \"Cousins in Binary Tree II\", d: \"Medium\", s: \"cousins-in-binary-tree-ii\" },\n { n: 2642, t: \"Design Graph With Shortest Path Calculator\", d: \"Hard\", s: \"design-graph-with-shortest-path-calculator\" },\n { n: 2643, t: \"Row With Maximum Ones\", d: \"Easy\", s: \"row-with-maximum-ones\" },\n { n: 2644, t: \"Find the Maximum Divisibility Score\", d: \"Easy\", s: \"find-the-maximum-divisibility-score\" },\n { n: 2645, t: \"Minimum Additions to Make Valid String\", d: \"Medium\", s: \"minimum-additions-to-make-valid-string\" },\n { n: 2646, t: \"Minimize the Total Price of the Trips\", d: \"Hard\", s: \"minimize-the-total-price-of-the-trips\" },\n { n: 2647, t: \"Color the Triangle Red\", d: \"Hard\", s: \"color-the-triangle-red\" },\n { n: 2648, t: \"Generate Fibonacci Sequence\", d: \"Easy\", s: \"generate-fibonacci-sequence\" },\n { n: 2649, t: \"Nested Array Generator\", d: \"Medium\", s: \"nested-array-generator\" },\n { n: 2650, t: \"Design Cancellable Function\", d: \"Hard\", s: \"design-cancellable-function\" },\n { n: 2651, t: \"Calculate Delayed Arrival Time\", d: \"Easy\", s: \"calculate-delayed-arrival-time\" },\n { n: 2652, t: \"Sum Multiples\", d: \"Easy\", s: \"sum-multiples\" },\n { n: 2653, t: \"Sliding Subarray Beauty\", d: \"Medium\", s: \"sliding-subarray-beauty\" },\n { n: 2654, t: \"Minimum Number of Operations to Make All Array Elements Equal to 1\", d: \"Medium\", s: \"minimum-number-of-operations-to-make-all-array-elements-equal-to-1\" },\n { n: 2655, t: \"Find Maximal Uncovered Ranges\", d: \"Medium\", s: \"find-maximal-uncovered-ranges\" },\n { n: 2656, t: \"Maximum Sum With Exactly K Elements\", d: \"Easy\", s: \"maximum-sum-with-exactly-k-elements\" },\n { n: 2657, t: \"Find the Prefix Common Array of Two Arrays\", d: \"Medium\", s: \"find-the-prefix-common-array-of-two-arrays\" },\n { n: 2658, t: \"Maximum Number of Fish in a Grid\", d: \"Medium\", s: \"maximum-number-of-fish-in-a-grid\" },\n { n: 2659, t: \"Make Array Empty\", d: \"Hard\", s: \"make-array-empty\" },\n { n: 2660, t: \"Determine the Winner of a Bowling Game\", d: \"Easy\", s: \"determine-the-winner-of-a-bowling-game\" },\n { n: 2661, t: \"First Completely Painted Row or Column\", d: \"Medium\", s: \"first-completely-painted-row-or-column\" },\n { n: 2662, t: \"Minimum Cost of a Path With Special Roads\", d: \"Medium\", s: \"minimum-cost-of-a-path-with-special-roads\" },\n { n: 2663, t: \"Lexicographically Smallest Beautiful String\", d: \"Hard\", s: \"lexicographically-smallest-beautiful-string\" },\n { n: 2664, t: \"The Knight’s Tour\", d: \"Medium\", s: \"the-knights-tour\" },\n { n: 2665, t: \"Counter II\", d: \"Easy\", s: \"counter-ii\" },\n { n: 2666, t: \"Allow One Function Call\", d: \"Easy\", s: \"allow-one-function-call\" },\n { n: 2667, t: \"Create Hello World Function\", d: \"Easy\", s: \"create-hello-world-function\" },\n { n: 2668, t: \"Find Latest Salaries\", d: \"Easy\", s: \"find-latest-salaries\" },\n { n: 2669, t: \"Count Artist Occurrences On Spotify Ranking List\", d: \"Easy\", s: \"count-artist-occurrences-on-spotify-ranking-list\" },\n { n: 2670, t: \"Find the Distinct Difference Array\", d: \"Easy\", s: \"find-the-distinct-difference-array\" },\n { n: 2671, t: \"Frequency Tracker\", d: \"Medium\", s: \"frequency-tracker\" },\n { n: 2672, t: \"Number of Adjacent Elements With the Same Color\", d: \"Medium\", s: \"number-of-adjacent-elements-with-the-same-color\" },\n { n: 2673, t: \"Make Costs of Paths Equal in a Binary Tree\", d: \"Medium\", s: \"make-costs-of-paths-equal-in-a-binary-tree\" },\n { n: 2674, t: \"Split a Circular Linked List\", d: \"Medium\", s: \"split-a-circular-linked-list\" },\n { n: 2675, t: \"Array of Objects to Matrix\", d: \"Hard\", s: \"array-of-objects-to-matrix\" },\n { n: 2676, t: \"Throttle\", d: \"Medium\", s: \"throttle\" },\n { n: 2677, t: \"Chunk Array\", d: \"Easy\", s: \"chunk-array\" },\n { n: 2678, t: \"Number of Senior Citizens\", d: \"Easy\", s: \"number-of-senior-citizens\" },\n { n: 2679, t: \"Sum in a Matrix\", d: \"Medium\", s: \"sum-in-a-matrix\" },\n { n: 2680, t: \"Maximum OR\", d: \"Medium\", s: \"maximum-or\" },\n { n: 2681, t: \"Power of Heroes\", d: \"Hard\", s: \"power-of-heroes\" },\n { n: 2682, t: \"Find the Losers of the Circular Game\", d: \"Easy\", s: \"find-the-losers-of-the-circular-game\" },\n { n: 2683, t: \"Neighboring Bitwise XOR\", d: \"Medium\", s: \"neighboring-bitwise-xor\" },\n { n: 2684, t: \"Maximum Number of Moves in a Grid\", d: \"Medium\", s: \"maximum-number-of-moves-in-a-grid\" },\n { n: 2685, t: \"Count the Number of Complete Components\", d: \"Medium\", s: \"count-the-number-of-complete-components\" },\n { n: 2686, t: \"Immediate Food Delivery III\", d: \"Medium\", s: \"immediate-food-delivery-iii\" },\n { n: 2687, t: \"Bikes Last Time Used\", d: \"Easy\", s: \"bikes-last-time-used\" },\n { n: 2688, t: \"Find Active Users\", d: \"Medium\", s: \"find-active-users\" },\n { n: 2689, t: \"Extract Kth Character From The Rope Tree\", d: \"Easy\", s: \"extract-kth-character-from-the-rope-tree\" },\n { n: 2690, t: \"Infinite Method Object\", d: \"Easy\", s: \"infinite-method-object\" },\n { n: 2691, t: \"Immutability Helper\", d: \"Hard\", s: \"immutability-helper\" },\n { n: 2692, t: \"Make Object Immutable\", d: \"Medium\", s: \"make-object-immutable\" },\n { n: 2693, t: \"Call Function with Custom Context\", d: \"Medium\", s: \"call-function-with-custom-context\" },\n { n: 2694, t: \"Event Emitter\", d: \"Medium\", s: \"event-emitter\" },\n { n: 2695, t: \"Array Wrapper\", d: \"Easy\", s: \"array-wrapper\" },\n { n: 2696, t: \"Minimum String Length After Removing Substrings\", d: \"Easy\", s: \"minimum-string-length-after-removing-substrings\" },\n { n: 2697, t: \"Lexicographically Smallest Palindrome\", d: \"Easy\", s: \"lexicographically-smallest-palindrome\" },\n { n: 2698, t: \"Find the Punishment Number of an Integer\", d: \"Medium\", s: \"find-the-punishment-number-of-an-integer\" },\n { n: 2699, t: \"Modify Graph Edge Weights\", d: \"Hard\", s: \"modify-graph-edge-weights\" },\n { n: 2700, t: \"Differences Between Two Objects\", d: \"Medium\", s: \"differences-between-two-objects\" },\n { n: 2701, t: \"Consecutive Transactions with Increasing Amounts\", d: \"Hard\", s: \"consecutive-transactions-with-increasing-amounts\" },\n { n: 2702, t: \"Minimum Operations to Make Numbers Non-positive\", d: \"Hard\", s: \"minimum-operations-to-make-numbers-non-positive\" },\n { n: 2703, t: \"Return Length of Arguments Passed\", d: \"Easy\", s: \"return-length-of-arguments-passed\" },\n { n: 2704, t: \"To Be Or Not To Be\", d: \"Easy\", s: \"to-be-or-not-to-be\" },\n { n: 2705, t: \"Compact Object\", d: \"Medium\", s: \"compact-object\" },\n { n: 2706, t: \"Buy Two Chocolates\", d: \"Easy\", s: \"buy-two-chocolates\" },\n { n: 2707, t: \"Extra Characters in a String\", d: \"Medium\", s: \"extra-characters-in-a-string\" },\n { n: 2708, t: \"Maximum Strength of a Group\", d: \"Medium\", s: \"maximum-strength-of-a-group\" },\n { n: 2709, t: \"Greatest Common Divisor Traversal\", d: \"Hard\", s: \"greatest-common-divisor-traversal\" },\n { n: 2710, t: \"Remove Trailing Zeros From a String\", d: \"Easy\", s: \"remove-trailing-zeros-from-a-string\" },\n { n: 2711, t: \"Difference of Number of Distinct Values on Diagonals\", d: \"Medium\", s: \"difference-of-number-of-distinct-values-on-diagonals\" },\n { n: 2712, t: \"Minimum Cost to Make All Characters Equal\", d: \"Medium\", s: \"minimum-cost-to-make-all-characters-equal\" },\n { n: 2713, t: \"Maximum Strictly Increasing Cells in a Matrix\", d: \"Hard\", s: \"maximum-strictly-increasing-cells-in-a-matrix\" },\n { n: 2714, t: \"Find Shortest Path with K Hops\", d: \"Hard\", s: \"find-shortest-path-with-k-hops\" },\n { n: 2715, t: \"Timeout Cancellation\", d: \"Easy\", s: \"timeout-cancellation\" },\n { n: 2716, t: \"Minimize String Length\", d: \"Easy\", s: \"minimize-string-length\" },\n { n: 2717, t: \"Semi-Ordered Permutation\", d: \"Easy\", s: \"semi-ordered-permutation\" },\n { n: 2718, t: \"Sum of Matrix After Queries\", d: \"Medium\", s: \"sum-of-matrix-after-queries\" },\n { n: 2719, t: \"Count of Integers\", d: \"Hard\", s: \"count-of-integers\" },\n { n: 2720, t: \"Popularity Percentage\", d: \"Hard\", s: \"popularity-percentage\" },\n { n: 2721, t: \"Execute Asynchronous Functions in Parallel\", d: \"Medium\", s: \"execute-asynchronous-functions-in-parallel\" },\n { n: 2722, t: \"Join Two Arrays by ID\", d: \"Medium\", s: \"join-two-arrays-by-id\" },\n { n: 2723, t: \"Add Two Promises\", d: \"Easy\", s: \"add-two-promises\" },\n { n: 2724, t: \"Sort By\", d: \"Easy\", s: \"sort-by\" },\n { n: 2725, t: \"Interval Cancellation\", d: \"Easy\", s: \"interval-cancellation\" },\n { n: 2726, t: \"Calculator with Method Chaining\", d: \"Easy\", s: \"calculator-with-method-chaining\" },\n { n: 2727, t: \"Is Object Empty\", d: \"Easy\", s: \"is-object-empty\" },\n { n: 2728, t: \"Count Houses in a Circular Street\", d: \"Easy\", s: \"count-houses-in-a-circular-street\" },\n { n: 2729, t: \"Check if The Number is Fascinating\", d: \"Easy\", s: \"check-if-the-number-is-fascinating\" },\n { n: 2730, t: \"Find the Longest Semi-Repetitive Substring\", d: \"Medium\", s: \"find-the-longest-semi-repetitive-substring\" },\n { n: 2731, t: \"Movement of Robots\", d: \"Medium\", s: \"movement-of-robots\" },\n { n: 2732, t: \"Find a Good Subset of the Matrix\", d: \"Hard\", s: \"find-a-good-subset-of-the-matrix\" },\n { n: 2733, t: \"Neither Minimum nor Maximum\", d: \"Easy\", s: \"neither-minimum-nor-maximum\" },\n { n: 2734, t: \"Lexicographically Smallest String After Substring Operation\", d: \"Medium\", s: \"lexicographically-smallest-string-after-substring-operation\" },\n { n: 2735, t: \"Collecting Chocolates\", d: \"Medium\", s: \"collecting-chocolates\" },\n { n: 2736, t: \"Maximum Sum Queries\", d: \"Hard\", s: \"maximum-sum-queries\" },\n { n: 2737, t: \"Find the Closest Marked Node\", d: \"Medium\", s: \"find-the-closest-marked-node\" },\n { n: 2738, t: \"Count Occurrences in Text\", d: \"Medium\", s: \"count-occurrences-in-text\" },\n { n: 2739, t: \"Total Distance Traveled\", d: \"Easy\", s: \"total-distance-traveled\" },\n { n: 2740, t: \"Find the Value of the Partition\", d: \"Medium\", s: \"find-the-value-of-the-partition\" },\n { n: 2741, t: \"Special Permutations\", d: \"Medium\", s: \"special-permutations\" },\n { n: 2742, t: \"Painting the Walls\", d: \"Hard\", s: \"painting-the-walls\" },\n { n: 2743, t: \"Count Substrings Without Repeating Character\", d: \"Medium\", s: \"count-substrings-without-repeating-character\" },\n { n: 2744, t: \"Find Maximum Number of String Pairs\", d: \"Easy\", s: \"find-maximum-number-of-string-pairs\" },\n { n: 2745, t: \"Construct the Longest New String\", d: \"Medium\", s: \"construct-the-longest-new-string\" },\n { n: 2746, t: \"Decremental String Concatenation\", d: \"Medium\", s: \"decremental-string-concatenation\" },\n { n: 2747, t: \"Count Zero Request Servers\", d: \"Medium\", s: \"count-zero-request-servers\" },\n { n: 2748, t: \"Number of Beautiful Pairs\", d: \"Easy\", s: \"number-of-beautiful-pairs\" },\n { n: 2749, t: \"Minimum Operations to Make the Integer Zero\", d: \"Medium\", s: \"minimum-operations-to-make-the-integer-zero\" },\n { n: 2750, t: \"Ways to Split Array Into Good Subarrays\", d: \"Medium\", s: \"ways-to-split-array-into-good-subarrays\" },\n { n: 2751, t: \"Robot Collisions\", d: \"Hard\", s: \"robot-collisions\" },\n { n: 2752, t: \"Customers with Maximum Number of Transactions on Consecutive Days\", d: \"Hard\", s: \"customers-with-maximum-number-of-transactions-on-consecutive-days\" },\n { n: 2753, t: \"Count Houses in a Circular Street II\", d: \"Hard\", s: \"count-houses-in-a-circular-street-ii\" },\n { n: 2754, t: \"Bind Function to Context\", d: \"Medium\", s: \"bind-function-to-context\" },\n { n: 2755, t: \"Deep Merge of Two Objects\", d: \"Medium\", s: \"deep-merge-of-two-objects\" },\n { n: 2756, t: \"Query Batching\", d: \"Hard\", s: \"query-batching\" },\n { n: 2757, t: \"Generate Circular Array Values\", d: \"Medium\", s: \"generate-circular-array-values\" },\n { n: 2758, t: \"Next Day\", d: \"Easy\", s: \"next-day\" },\n { n: 2759, t: \"Convert JSON String to Object\", d: \"Hard\", s: \"convert-json-string-to-object\" },\n { n: 2760, t: \"Longest Even Odd Subarray With Threshold\", d: \"Easy\", s: \"longest-even-odd-subarray-with-threshold\" },\n { n: 2761, t: \"Prime Pairs With Target Sum\", d: \"Medium\", s: \"prime-pairs-with-target-sum\" },\n { n: 2762, t: \"Continuous Subarrays\", d: \"Medium\", s: \"continuous-subarrays\" },\n { n: 2763, t: \"Sum of Imbalance Numbers of All Subarrays\", d: \"Hard\", s: \"sum-of-imbalance-numbers-of-all-subarrays\" },\n { n: 2764, t: \"Is Array a Preorder of Some ‌Binary Tree\", d: \"Medium\", s: \"is-array-a-preorder-of-some-binary-tree\" },\n { n: 2765, t: \"Longest Alternating Subarray\", d: \"Easy\", s: \"longest-alternating-subarray\" },\n { n: 2766, t: \"Relocate Marbles\", d: \"Medium\", s: \"relocate-marbles\" },\n { n: 2767, t: \"Partition String Into Minimum Beautiful Substrings\", d: \"Medium\", s: \"partition-string-into-minimum-beautiful-substrings\" },\n { n: 2768, t: \"Number of Black Blocks\", d: \"Medium\", s: \"number-of-black-blocks\" },\n { n: 2769, t: \"Find the Maximum Achievable Number\", d: \"Easy\", s: \"find-the-maximum-achievable-number\" },\n { n: 2770, t: \"Maximum Number of Jumps to Reach the Last Index\", d: \"Medium\", s: \"maximum-number-of-jumps-to-reach-the-last-index\" },\n { n: 2771, t: \"Longest Non-decreasing Subarray From Two Arrays\", d: \"Medium\", s: \"longest-non-decreasing-subarray-from-two-arrays\" },\n { n: 2772, t: \"Apply Operations to Make All Array Elements Equal to Zero\", d: \"Medium\", s: \"apply-operations-to-make-all-array-elements-equal-to-zero\" },\n { n: 2773, t: \"Height of Special Binary Tree\", d: \"Medium\", s: \"height-of-special-binary-tree\" },\n { n: 2774, t: \"Array Upper Bound\", d: \"Easy\", s: \"array-upper-bound\" },\n { n: 2775, t: \"Undefined to Null\", d: \"Medium\", s: \"undefined-to-null\" },\n { n: 2776, t: \"Convert Callback Based Function to Promise Based Function\", d: \"Medium\", s: \"convert-callback-based-function-to-promise-based-function\" },\n { n: 2777, t: \"Date Range Generator\", d: \"Medium\", s: \"date-range-generator\" },\n { n: 2778, t: \"Sum of Squares of Special Elements\", d: \"Easy\", s: \"sum-of-squares-of-special-elements\" },\n { n: 2779, t: \"Maximum Beauty of an Array After Applying Operation\", d: \"Medium\", s: \"maximum-beauty-of-an-array-after-applying-operation\" },\n { n: 2780, t: \"Minimum Index of a Valid Split\", d: \"Medium\", s: \"minimum-index-of-a-valid-split\" },\n { n: 2781, t: \"Length of the Longest Valid Substring\", d: \"Hard\", s: \"length-of-the-longest-valid-substring\" },\n { n: 2782, t: \"Number of Unique Categories\", d: \"Medium\", s: \"number-of-unique-categories\" },\n { n: 2783, t: \"Flight Occupancy and Waitlist Analysis\", d: \"Medium\", s: \"flight-occupancy-and-waitlist-analysis\" },\n { n: 2784, t: \"Check if Array is Good\", d: \"Easy\", s: \"check-if-array-is-good\" },\n { n: 2785, t: \"Sort Vowels in a String\", d: \"Medium\", s: \"sort-vowels-in-a-string\" },\n { n: 2786, t: \"Visit Array Positions to Maximize Score\", d: \"Medium\", s: \"visit-array-positions-to-maximize-score\" },\n { n: 2787, t: \"Ways to Express an Integer as Sum of Powers\", d: \"Medium\", s: \"ways-to-express-an-integer-as-sum-of-powers\" },\n { n: 2788, t: \"Split Strings by Separator\", d: \"Easy\", s: \"split-strings-by-separator\" },\n { n: 2789, t: \"Largest Element in an Array after Merge Operations\", d: \"Medium\", s: \"largest-element-in-an-array-after-merge-operations\" },\n { n: 2790, t: \"Maximum Number of Groups With Increasing Length\", d: \"Hard\", s: \"maximum-number-of-groups-with-increasing-length\" },\n { n: 2791, t: \"Count Paths That Can Form a Palindrome in a Tree\", d: \"Hard\", s: \"count-paths-that-can-form-a-palindrome-in-a-tree\" },\n { n: 2792, t: \"Count Nodes That Are Great Enough\", d: \"Hard\", s: \"count-nodes-that-are-great-enough\" },\n { n: 2793, t: \"Status of Flight Tickets\", d: \"Hard\", s: \"status-of-flight-tickets\" },\n { n: 2794, t: \"Create Object from Two Arrays\", d: \"Easy\", s: \"create-object-from-two-arrays\" },\n { n: 2795, t: \"Parallel Execution of Promises for Individual Results Retrieval\", d: \"Medium\", s: \"parallel-execution-of-promises-for-individual-results-retrieval\" },\n { n: 2796, t: \"Repeat String\", d: \"Easy\", s: \"repeat-string\" },\n { n: 2797, t: \"Partial Function with Placeholders\", d: \"Easy\", s: \"partial-function-with-placeholders\" },\n { n: 2798, t: \"Number of Employees Who Met the Target\", d: \"Easy\", s: \"number-of-employees-who-met-the-target\" },\n { n: 2799, t: \"Count Complete Subarrays in an Array\", d: \"Medium\", s: \"count-complete-subarrays-in-an-array\" },\n { n: 2800, t: \"Shortest String That Contains Three Strings\", d: \"Medium\", s: \"shortest-string-that-contains-three-strings\" },\n { n: 2801, t: \"Count Stepping Numbers in Range\", d: \"Hard\", s: \"count-stepping-numbers-in-range\" },\n { n: 2802, t: \"Find The K-th Lucky Number\", d: \"Medium\", s: \"find-the-k-th-lucky-number\" },\n { n: 2803, t: \"Factorial Generator\", d: \"Easy\", s: \"factorial-generator\" },\n { n: 2804, t: \"Array Prototype ForEach\", d: \"Easy\", s: \"array-prototype-foreach\" },\n { n: 2805, t: \"Custom Interval\", d: \"Medium\", s: \"custom-interval\" },\n { n: 2806, t: \"Account Balance After Rounded Purchase\", d: \"Easy\", s: \"account-balance-after-rounded-purchase\" },\n { n: 2807, t: \"Insert Greatest Common Divisors in Linked List\", d: \"Medium\", s: \"insert-greatest-common-divisors-in-linked-list\" },\n { n: 2808, t: \"Minimum Seconds to Equalize a Circular Array\", d: \"Medium\", s: \"minimum-seconds-to-equalize-a-circular-array\" },\n { n: 2809, t: \"Minimum Time to Make Array Sum At Most x\", d: \"Hard\", s: \"minimum-time-to-make-array-sum-at-most-x\" },\n { n: 2810, t: \"Faulty Keyboard\", d: \"Easy\", s: \"faulty-keyboard\" },\n { n: 2811, t: \"Check if it is Possible to Split Array\", d: \"Medium\", s: \"check-if-it-is-possible-to-split-array\" },\n { n: 2812, t: \"Find the Safest Path in a Grid\", d: \"Medium\", s: \"find-the-safest-path-in-a-grid\" },\n { n: 2813, t: \"Maximum Elegance of a K-Length Subsequence\", d: \"Hard\", s: \"maximum-elegance-of-a-k-length-subsequence\" },\n { n: 2814, t: \"Minimum Time Takes to Reach Destination Without Drowning\", d: \"Hard\", s: \"minimum-time-takes-to-reach-destination-without-drowning\" },\n { n: 2815, t: \"Max Pair Sum in an Array\", d: \"Easy\", s: \"max-pair-sum-in-an-array\" },\n { n: 2816, t: \"Double a Number Represented as a Linked List\", d: \"Medium\", s: \"double-a-number-represented-as-a-linked-list\" },\n { n: 2817, t: \"Minimum Absolute Difference Between Elements With Constraint\", d: \"Medium\", s: \"minimum-absolute-difference-between-elements-with-constraint\" },\n { n: 2818, t: \"Apply Operations to Maximize Score\", d: \"Hard\", s: \"apply-operations-to-maximize-score\" },\n { n: 2819, t: \"Minimum Relative Loss After Buying Chocolates\", d: \"Hard\", s: \"minimum-relative-loss-after-buying-chocolates\" },\n { n: 2820, t: \"Election Results\", d: \"Medium\", s: \"election-results\" },\n { n: 2821, t: \"Delay the Resolution of Each Promise\", d: \"Medium\", s: \"delay-the-resolution-of-each-promise\" },\n { n: 2822, t: \"Inversion of Object\", d: \"Easy\", s: \"inversion-of-object\" },\n { n: 2823, t: \"Deep Object Filter\", d: \"Medium\", s: \"deep-object-filter\" },\n { n: 2824, t: \"Count Pairs Whose Sum is Less than Target\", d: \"Easy\", s: \"count-pairs-whose-sum-is-less-than-target\" },\n { n: 2825, t: \"Make String a Subsequence Using Cyclic Increments\", d: \"Medium\", s: \"make-string-a-subsequence-using-cyclic-increments\" },\n { n: 2826, t: \"Sorting Three Groups\", d: \"Medium\", s: \"sorting-three-groups\" },\n { n: 2827, t: \"Number of Beautiful Integers in the Range\", d: \"Hard\", s: \"number-of-beautiful-integers-in-the-range\" },\n { n: 2828, t: \"Check if a String Is an Acronym of Words\", d: \"Easy\", s: \"check-if-a-string-is-an-acronym-of-words\" },\n { n: 2829, t: \"Determine the Minimum Sum of a k-avoiding Array\", d: \"Medium\", s: \"determine-the-minimum-sum-of-a-k-avoiding-array\" },\n { n: 2830, t: \"Maximize the Profit as the Salesman\", d: \"Medium\", s: \"maximize-the-profit-as-the-salesman\" },\n { n: 2831, t: \"Find the Longest Equal Subarray\", d: \"Medium\", s: \"find-the-longest-equal-subarray\" },\n { n: 2832, t: \"Maximal Range That Each Element Is Maximum in It\", d: \"Medium\", s: \"maximal-range-that-each-element-is-maximum-in-it\" },\n { n: 2833, t: \"Furthest Point From Origin\", d: \"Easy\", s: \"furthest-point-from-origin\" },\n { n: 2834, t: \"Find the Minimum Possible Sum of a Beautiful Array\", d: \"Medium\", s: \"find-the-minimum-possible-sum-of-a-beautiful-array\" },\n { n: 2835, t: \"Minimum Operations to Form Subsequence With Target Sum\", d: \"Hard\", s: \"minimum-operations-to-form-subsequence-with-target-sum\" },\n { n: 2836, t: \"Maximize Value of Function in a Ball Passing Game\", d: \"Hard\", s: \"maximize-value-of-function-in-a-ball-passing-game\" },\n { n: 2837, t: \"Total Traveled Distance\", d: \"Easy\", s: \"total-traveled-distance\" },\n { n: 2838, t: \"Maximum Coins Heroes Can Collect\", d: \"Medium\", s: \"maximum-coins-heroes-can-collect\" },\n { n: 2839, t: \"Check if Strings Can be Made Equal With Operations I\", d: \"Easy\", s: \"check-if-strings-can-be-made-equal-with-operations-i\" },\n { n: 2840, t: \"Check if Strings Can be Made Equal With Operations II\", d: \"Medium\", s: \"check-if-strings-can-be-made-equal-with-operations-ii\" },\n { n: 2841, t: \"Maximum Sum of Almost Unique Subarray\", d: \"Medium\", s: \"maximum-sum-of-almost-unique-subarray\" },\n { n: 2842, t: \"Count K-Subsequences of a String With Maximum Beauty\", d: \"Hard\", s: \"count-k-subsequences-of-a-string-with-maximum-beauty\" },\n { n: 2843, t: \"Count Symmetric Integers\", d: \"Easy\", s: \"count-symmetric-integers\" },\n { n: 2844, t: \"Minimum Operations to Make a Special Number\", d: \"Medium\", s: \"minimum-operations-to-make-a-special-number\" },\n { n: 2845, t: \"Count of Interesting Subarrays\", d: \"Medium\", s: \"count-of-interesting-subarrays\" },\n { n: 2846, t: \"Minimum Edge Weight Equilibrium Queries in a Tree\", d: \"Hard\", s: \"minimum-edge-weight-equilibrium-queries-in-a-tree\" },\n { n: 2847, t: \"Smallest Number With Given Digit Product\", d: \"Medium\", s: \"smallest-number-with-given-digit-product\" },\n { n: 2848, t: \"Points That Intersect With Cars\", d: \"Easy\", s: \"points-that-intersect-with-cars\" },\n { n: 2849, t: \"Determine if a Cell Is Reachable at a Given Time\", d: \"Medium\", s: \"determine-if-a-cell-is-reachable-at-a-given-time\" },\n { n: 2850, t: \"Minimum Moves to Spread Stones Over Grid\", d: \"Medium\", s: \"minimum-moves-to-spread-stones-over-grid\" },\n { n: 2851, t: \"String Transformation\", d: \"Hard\", s: \"string-transformation\" },\n { n: 2852, t: \"Sum of Remoteness of All Cells\", d: \"Medium\", s: \"sum-of-remoteness-of-all-cells\" },\n { n: 2853, t: \"Highest Salaries Difference\", d: \"Easy\", s: \"highest-salaries-difference\" },\n { n: 2854, t: \"Rolling Average Steps\", d: \"Medium\", s: \"rolling-average-steps\" },\n { n: 2855, t: \"Minimum Right Shifts to Sort the Array\", d: \"Easy\", s: \"minimum-right-shifts-to-sort-the-array\" },\n { n: 2856, t: \"Minimum Array Length After Pair Removals\", d: \"Medium\", s: \"minimum-array-length-after-pair-removals\" },\n { n: 2857, t: \"Count Pairs of Points With Distance k\", d: \"Medium\", s: \"count-pairs-of-points-with-distance-k\" },\n { n: 2858, t: \"Minimum Edge Reversals So Every Node Is Reachable\", d: \"Hard\", s: \"minimum-edge-reversals-so-every-node-is-reachable\" },\n { n: 2859, t: \"Sum of Values at Indices With K Set Bits\", d: \"Easy\", s: \"sum-of-values-at-indices-with-k-set-bits\" },\n { n: 2860, t: \"Happy Students\", d: \"Medium\", s: \"happy-students\" },\n { n: 2861, t: \"Maximum Number of Alloys\", d: \"Medium\", s: \"maximum-number-of-alloys\" },\n { n: 2862, t: \"Maximum Element-Sum of a Complete Subset of Indices\", d: \"Hard\", s: \"maximum-element-sum-of-a-complete-subset-of-indices\" },\n { n: 2863, t: \"Maximum Length of Semi-Decreasing Subarrays\", d: \"Medium\", s: \"maximum-length-of-semi-decreasing-subarrays\" },\n { n: 2864, t: \"Maximum Odd Binary Number\", d: \"Easy\", s: \"maximum-odd-binary-number\" },\n { n: 2865, t: \"Beautiful Towers I\", d: \"Medium\", s: \"beautiful-towers-i\" },\n { n: 2866, t: \"Beautiful Towers II\", d: \"Medium\", s: \"beautiful-towers-ii\" },\n { n: 2867, t: \"Count Valid Paths in a Tree\", d: \"Hard\", s: \"count-valid-paths-in-a-tree\" },\n { n: 2868, t: \"The Wording Game\", d: \"Hard\", s: \"the-wording-game\" },\n { n: 2869, t: \"Minimum Operations to Collect Elements\", d: \"Easy\", s: \"minimum-operations-to-collect-elements\" },\n { n: 2870, t: \"Minimum Number of Operations to Make Array Empty\", d: \"Medium\", s: \"minimum-number-of-operations-to-make-array-empty\" },\n { n: 2871, t: \"Split Array Into Maximum Number of Subarrays\", d: \"Medium\", s: \"split-array-into-maximum-number-of-subarrays\" },\n { n: 2872, t: \"Maximum Number of K-Divisible Components\", d: \"Hard\", s: \"maximum-number-of-k-divisible-components\" },\n { n: 2873, t: \"Maximum Value of an Ordered Triplet I\", d: \"Easy\", s: \"maximum-value-of-an-ordered-triplet-i\" },\n { n: 2874, t: \"Maximum Value of an Ordered Triplet II\", d: \"Medium\", s: \"maximum-value-of-an-ordered-triplet-ii\" },\n { n: 2875, t: \"Minimum Size Subarray in Infinite Array\", d: \"Medium\", s: \"minimum-size-subarray-in-infinite-array\" },\n { n: 2876, t: \"Count Visited Nodes in a Directed Graph\", d: \"Hard\", s: \"count-visited-nodes-in-a-directed-graph\" },\n { n: 2877, t: \"Create a DataFrame from List\", d: \"Easy\", s: \"create-a-dataframe-from-list\" },\n { n: 2878, t: \"Get the Size of a DataFrame\", d: \"Easy\", s: \"get-the-size-of-a-dataframe\" },\n { n: 2879, t: \"Display the First Three Rows\", d: \"Easy\", s: \"display-the-first-three-rows\" },\n { n: 2880, t: \"Select Data\", d: \"Easy\", s: \"select-data\" },\n { n: 2881, t: \"Create a New Column\", d: \"Easy\", s: \"create-a-new-column\" },\n { n: 2882, t: \"Drop Duplicate Rows\", d: \"Easy\", s: \"drop-duplicate-rows\" },\n { n: 2883, t: \"Drop Missing Data\", d: \"Easy\", s: \"drop-missing-data\" },\n { n: 2884, t: \"Modify Columns\", d: \"Easy\", s: \"modify-columns\" },\n { n: 2885, t: \"Rename Columns\", d: \"Easy\", s: \"rename-columns\" },\n { n: 2886, t: \"Change Data Type\", d: \"Easy\", s: \"change-data-type\" },\n { n: 2887, t: \"Fill Missing Data\", d: \"Easy\", s: \"fill-missing-data\" },\n { n: 2888, t: \"Reshape Data: Concatenate\", d: \"Easy\", s: \"reshape-data-concatenate\" },\n { n: 2889, t: \"Reshape Data: Pivot\", d: \"Easy\", s: \"reshape-data-pivot\" },\n { n: 2890, t: \"Reshape Data: Melt\", d: \"Easy\", s: \"reshape-data-melt\" },\n { n: 2891, t: \"Method Chaining\", d: \"Easy\", s: \"method-chaining\" },\n { n: 2892, t: \"Minimizing Array After Replacing Pairs With Their Product\", d: \"Medium\", s: \"minimizing-array-after-replacing-pairs-with-their-product\" },\n { n: 2893, t: \"Calculate Orders Within Each Interval\", d: \"Medium\", s: \"calculate-orders-within-each-interval\" },\n { n: 2894, t: \"Divisible and Non-divisible Sums Difference\", d: \"Easy\", s: \"divisible-and-non-divisible-sums-difference\" },\n { n: 2895, t: \"Minimum Processing Time\", d: \"Medium\", s: \"minimum-processing-time\" },\n { n: 2896, t: \"Apply Operations to Make Two Strings Equal\", d: \"Medium\", s: \"apply-operations-to-make-two-strings-equal\" },\n { n: 2897, t: \"Apply Operations on Array to Maximize Sum of Squares\", d: \"Hard\", s: \"apply-operations-on-array-to-maximize-sum-of-squares\" },\n { n: 2898, t: \"Maximum Linear Stock Score\", d: \"Medium\", s: \"maximum-linear-stock-score\" },\n { n: 2899, t: \"Last Visited Integers\", d: \"Easy\", s: \"last-visited-integers\" },\n { n: 2900, t: \"Longest Unequal Adjacent Groups Subsequence I\", d: \"Easy\", s: \"longest-unequal-adjacent-groups-subsequence-i\" },\n { n: 2901, t: \"Longest Unequal Adjacent Groups Subsequence II\", d: \"Medium\", s: \"longest-unequal-adjacent-groups-subsequence-ii\" },\n { n: 2902, t: \"Count of Sub-Multisets With Bounded Sum\", d: \"Hard\", s: \"count-of-sub-multisets-with-bounded-sum\" },\n { n: 2903, t: \"Find Indices With Index and Value Difference I\", d: \"Easy\", s: \"find-indices-with-index-and-value-difference-i\" },\n { n: 2904, t: \"Shortest and Lexicographically Smallest Beautiful String\", d: \"Medium\", s: \"shortest-and-lexicographically-smallest-beautiful-string\" },\n { n: 2905, t: \"Find Indices With Index and Value Difference II\", d: \"Medium\", s: \"find-indices-with-index-and-value-difference-ii\" },\n { n: 2906, t: \"Construct Product Matrix\", d: \"Medium\", s: \"construct-product-matrix\" },\n { n: 2907, t: \"Maximum Profitable Triplets With Increasing Prices I\", d: \"Medium\", s: \"maximum-profitable-triplets-with-increasing-prices-i\" },\n { n: 2908, t: \"Minimum Sum of Mountain Triplets I\", d: \"Easy\", s: \"minimum-sum-of-mountain-triplets-i\" },\n { n: 2909, t: \"Minimum Sum of Mountain Triplets II\", d: \"Medium\", s: \"minimum-sum-of-mountain-triplets-ii\" },\n { n: 2910, t: \"Minimum Number of Groups to Create a Valid Assignment\", d: \"Medium\", s: \"minimum-number-of-groups-to-create-a-valid-assignment\" },\n { n: 2911, t: \"Minimum Changes to Make K Semi-palindromes\", d: \"Hard\", s: \"minimum-changes-to-make-k-semi-palindromes\" },\n { n: 2912, t: \"Number of Ways to Reach Destination in the Grid\", d: \"Hard\", s: \"number-of-ways-to-reach-destination-in-the-grid\" },\n { n: 2913, t: \"Subarrays Distinct Element Sum of Squares I\", d: \"Easy\", s: \"subarrays-distinct-element-sum-of-squares-i\" },\n { n: 2914, t: \"Minimum Number of Changes to Make Binary String Beautiful\", d: \"Medium\", s: \"minimum-number-of-changes-to-make-binary-string-beautiful\" },\n { n: 2915, t: \"Length of the Longest Subsequence That Sums to Target\", d: \"Medium\", s: \"length-of-the-longest-subsequence-that-sums-to-target\" },\n { n: 2916, t: \"Subarrays Distinct Element Sum of Squares II\", d: \"Hard\", s: \"subarrays-distinct-element-sum-of-squares-ii\" },\n { n: 2917, t: \"Find the K-or of an Array\", d: \"Easy\", s: \"find-the-k-or-of-an-array\" },\n { n: 2918, t: \"Minimum Equal Sum of Two Arrays After Replacing Zeros\", d: \"Medium\", s: \"minimum-equal-sum-of-two-arrays-after-replacing-zeros\" },\n { n: 2919, t: \"Minimum Increment Operations to Make Array Beautiful\", d: \"Medium\", s: \"minimum-increment-operations-to-make-array-beautiful\" },\n { n: 2920, t: \"Maximum Points After Collecting Coins From All Nodes\", d: \"Hard\", s: \"maximum-points-after-collecting-coins-from-all-nodes\" },\n { n: 2921, t: \"Maximum Profitable Triplets With Increasing Prices II\", d: \"Hard\", s: \"maximum-profitable-triplets-with-increasing-prices-ii\" },\n { n: 2922, t: \"Market Analysis III\", d: \"Medium\", s: \"market-analysis-iii\" },\n { n: 2923, t: \"Find Champion I\", d: \"Easy\", s: \"find-champion-i\" },\n { n: 2924, t: \"Find Champion II\", d: \"Medium\", s: \"find-champion-ii\" },\n { n: 2925, t: \"Maximum Score After Applying Operations on a Tree\", d: \"Medium\", s: \"maximum-score-after-applying-operations-on-a-tree\" },\n { n: 2926, t: \"Maximum Balanced Subsequence Sum\", d: \"Hard\", s: \"maximum-balanced-subsequence-sum\" },\n { n: 2927, t: \"Distribute Candies Among Children III\", d: \"Hard\", s: \"distribute-candies-among-children-iii\" },\n { n: 2928, t: \"Distribute Candies Among Children I\", d: \"Easy\", s: \"distribute-candies-among-children-i\" },\n { n: 2929, t: \"Distribute Candies Among Children II\", d: \"Medium\", s: \"distribute-candies-among-children-ii\" },\n { n: 2930, t: \"Number of Strings Which Can Be Rearranged to Contain Substring\", d: \"Medium\", s: \"number-of-strings-which-can-be-rearranged-to-contain-substring\" },\n { n: 2931, t: \"Maximum Spending After Buying Items\", d: \"Hard\", s: \"maximum-spending-after-buying-items\" },\n { n: 2932, t: \"Maximum Strong Pair XOR I\", d: \"Easy\", s: \"maximum-strong-pair-xor-i\" },\n { n: 2933, t: \"High-Access Employees\", d: \"Medium\", s: \"high-access-employees\" },\n { n: 2934, t: \"Minimum Operations to Maximize Last Elements in Arrays\", d: \"Medium\", s: \"minimum-operations-to-maximize-last-elements-in-arrays\" },\n { n: 2935, t: \"Maximum Strong Pair XOR II\", d: \"Hard\", s: \"maximum-strong-pair-xor-ii\" },\n { n: 2936, t: \"Number of Equal Numbers Blocks\", d: \"Medium\", s: \"number-of-equal-numbers-blocks\" },\n { n: 2937, t: \"Make Three Strings Equal\", d: \"Easy\", s: \"make-three-strings-equal\" },\n { n: 2938, t: \"Separate Black and White Balls\", d: \"Medium\", s: \"separate-black-and-white-balls\" },\n { n: 2939, t: \"Maximum Xor Product\", d: \"Medium\", s: \"maximum-xor-product\" },\n { n: 2940, t: \"Find Building Where Alice and Bob Can Meet\", d: \"Hard\", s: \"find-building-where-alice-and-bob-can-meet\" },\n { n: 2941, t: \"Maximum GCD-Sum of a Subarray\", d: \"Hard\", s: \"maximum-gcd-sum-of-a-subarray\" },\n { n: 2942, t: \"Find Words Containing Character\", d: \"Easy\", s: \"find-words-containing-character\" },\n { n: 2943, t: \"Maximize Area of Square Hole in Grid\", d: \"Medium\", s: \"maximize-area-of-square-hole-in-grid\" },\n { n: 2944, t: \"Minimum Number of Coins for Fruits\", d: \"Medium\", s: \"minimum-number-of-coins-for-fruits\" },\n { n: 2945, t: \"Find Maximum Non-decreasing Array Length\", d: \"Hard\", s: \"find-maximum-non-decreasing-array-length\" },\n { n: 2946, t: \"Matrix Similarity After Cyclic Shifts\", d: \"Easy\", s: \"matrix-similarity-after-cyclic-shifts\" },\n { n: 2947, t: \"Count Beautiful Substrings I\", d: \"Medium\", s: \"count-beautiful-substrings-i\" },\n { n: 2948, t: \"Make Lexicographically Smallest Array by Swapping Elements\", d: \"Medium\", s: \"make-lexicographically-smallest-array-by-swapping-elements\" },\n { n: 2949, t: \"Count Beautiful Substrings II\", d: \"Hard\", s: \"count-beautiful-substrings-ii\" },\n { n: 2950, t: \"Number of Divisible Substrings\", d: \"Medium\", s: \"number-of-divisible-substrings\" },\n { n: 2951, t: \"Find the Peaks\", d: \"Easy\", s: \"find-the-peaks\" },\n { n: 2952, t: \"Minimum Number of Coins to be Added\", d: \"Medium\", s: \"minimum-number-of-coins-to-be-added\" },\n { n: 2953, t: \"Count Complete Substrings\", d: \"Hard\", s: \"count-complete-substrings\" },\n { n: 2954, t: \"Count the Number of Infection Sequences\", d: \"Hard\", s: \"count-the-number-of-infection-sequences\" },\n { n: 2955, t: \"Number of Same-End Substrings\", d: \"Medium\", s: \"number-of-same-end-substrings\" },\n { n: 2956, t: \"Find Common Elements Between Two Arrays\", d: \"Easy\", s: \"find-common-elements-between-two-arrays\" },\n { n: 2957, t: \"Remove Adjacent Almost-Equal Characters\", d: \"Medium\", s: \"remove-adjacent-almost-equal-characters\" },\n { n: 2958, t: \"Length of Longest Subarray With at Most K Frequency\", d: \"Medium\", s: \"length-of-longest-subarray-with-at-most-k-frequency\" },\n { n: 2959, t: \"Number of Possible Sets of Closing Branches\", d: \"Hard\", s: \"number-of-possible-sets-of-closing-branches\" },\n { n: 2960, t: \"Count Tested Devices After Test Operations\", d: \"Easy\", s: \"count-tested-devices-after-test-operations\" },\n { n: 2961, t: \"Double Modular Exponentiation\", d: \"Medium\", s: \"double-modular-exponentiation\" },\n { n: 2962, t: \"Count Subarrays Where Max Element Appears at Least K Times\", d: \"Medium\", s: \"count-subarrays-where-max-element-appears-at-least-k-times\" },\n { n: 2963, t: \"Count the Number of Good Partitions\", d: \"Hard\", s: \"count-the-number-of-good-partitions\" },\n { n: 2964, t: \"Number of Divisible Triplet Sums\", d: \"Medium\", s: \"number-of-divisible-triplet-sums\" },\n { n: 2965, t: \"Find Missing and Repeated Values\", d: \"Easy\", s: \"find-missing-and-repeated-values\" },\n { n: 2966, t: \"Divide Array Into Arrays With Max Difference\", d: \"Medium\", s: \"divide-array-into-arrays-with-max-difference\" },\n { n: 2967, t: \"Minimum Cost to Make Array Equalindromic\", d: \"Medium\", s: \"minimum-cost-to-make-array-equalindromic\" },\n { n: 2968, t: \"Apply Operations to Maximize Frequency Score\", d: \"Hard\", s: \"apply-operations-to-maximize-frequency-score\" },\n { n: 2969, t: \"Minimum Number of Coins for Fruits II\", d: \"Hard\", s: \"minimum-number-of-coins-for-fruits-ii\" },\n { n: 2970, t: \"Count the Number of Incremovable Subarrays I\", d: \"Easy\", s: \"count-the-number-of-incremovable-subarrays-i\" },\n { n: 2971, t: \"Find Polygon With the Largest Perimeter\", d: \"Medium\", s: \"find-polygon-with-the-largest-perimeter\" },\n { n: 2972, t: \"Count the Number of Incremovable Subarrays II\", d: \"Hard\", s: \"count-the-number-of-incremovable-subarrays-ii\" },\n { n: 2973, t: \"Find Number of Coins to Place in Tree Nodes\", d: \"Hard\", s: \"find-number-of-coins-to-place-in-tree-nodes\" },\n { n: 2974, t: \"Minimum Number Game\", d: \"Easy\", s: \"minimum-number-game\" },\n { n: 2975, t: \"Maximum Square Area by Removing Fences From a Field\", d: \"Medium\", s: \"maximum-square-area-by-removing-fences-from-a-field\" },\n { n: 2976, t: \"Minimum Cost to Convert String I\", d: \"Medium\", s: \"minimum-cost-to-convert-string-i\" },\n { n: 2977, t: \"Minimum Cost to Convert String II\", d: \"Hard\", s: \"minimum-cost-to-convert-string-ii\" },\n { n: 2978, t: \"Symmetric Coordinates\", d: \"Medium\", s: \"symmetric-coordinates\" },\n { n: 2979, t: \"Most Expensive Item That Can Not Be Bought\", d: \"Medium\", s: \"most-expensive-item-that-can-not-be-bought\" },\n { n: 2980, t: \"Check if Bitwise OR Has Trailing Zeros\", d: \"Easy\", s: \"check-if-bitwise-or-has-trailing-zeros\" },\n { n: 2981, t: \"Find Longest Special Substring That Occurs Thrice I\", d: \"Medium\", s: \"find-longest-special-substring-that-occurs-thrice-i\" },\n { n: 2982, t: \"Find Longest Special Substring That Occurs Thrice II\", d: \"Medium\", s: \"find-longest-special-substring-that-occurs-thrice-ii\" },\n { n: 2983, t: \"Palindrome Rearrangement Queries\", d: \"Hard\", s: \"palindrome-rearrangement-queries\" },\n { n: 2984, t: \"Find Peak Calling Hours for Each City\", d: \"Medium\", s: \"find-peak-calling-hours-for-each-city\" },\n { n: 2985, t: \"Calculate Compressed Mean\", d: \"Easy\", s: \"calculate-compressed-mean\" },\n { n: 2986, t: \"Find Third Transaction\", d: \"Medium\", s: \"find-third-transaction\" },\n { n: 2987, t: \"Find Expensive Cities\", d: \"Easy\", s: \"find-expensive-cities\" },\n { n: 2988, t: \"Manager of the Largest Department\", d: \"Medium\", s: \"manager-of-the-largest-department\" },\n { n: 2989, t: \"Class Performance\", d: \"Medium\", s: \"class-performance\" },\n { n: 2990, t: \"Loan Types\", d: \"Easy\", s: \"loan-types\" },\n { n: 2991, t: \"Top Three Wineries\", d: \"Hard\", s: \"top-three-wineries\" },\n { n: 2992, t: \"Number of Self-Divisible Permutations\", d: \"Medium\", s: \"number-of-self-divisible-permutations\" },\n { n: 2993, t: \"Friday Purchases I\", d: \"Medium\", s: \"friday-purchases-i\" },\n { n: 2994, t: \"Friday Purchases II\", d: \"Hard\", s: \"friday-purchases-ii\" },\n { n: 2995, t: \"Viewers Turned Streamers\", d: \"Hard\", s: \"viewers-turned-streamers\" },\n { n: 2996, t: \"Smallest Missing Integer Greater Than Sequential Prefix Sum\", d: \"Easy\", s: \"smallest-missing-integer-greater-than-sequential-prefix-sum\" },\n { n: 2997, t: \"Minimum Number of Operations to Make Array XOR Equal to K\", d: \"Medium\", s: \"minimum-number-of-operations-to-make-array-xor-equal-to-k\" },\n { n: 2998, t: \"Minimum Number of Operations to Make X and Y Equal\", d: \"Medium\", s: \"minimum-number-of-operations-to-make-x-and-y-equal\" },\n { n: 2999, t: \"Count the Number of Powerful Integers\", d: \"Hard\", s: \"count-the-number-of-powerful-integers\" },\n { n: 3000, t: \"Maximum Area of Longest Diagonal Rectangle\", d: \"Easy\", s: \"maximum-area-of-longest-diagonal-rectangle\" },\n { n: 3001, t: \"Minimum Moves to Capture The Queen\", d: \"Medium\", s: \"minimum-moves-to-capture-the-queen\" },\n { n: 3002, t: \"Maximum Size of a Set After Removals\", d: \"Medium\", s: \"maximum-size-of-a-set-after-removals\" },\n { n: 3003, t: \"Maximize the Number of Partitions After Operations\", d: \"Hard\", s: \"maximize-the-number-of-partitions-after-operations\" },\n { n: 3004, t: \"Maximum Subtree of the Same Color\", d: \"Medium\", s: \"maximum-subtree-of-the-same-color\" },\n { n: 3005, t: \"Count Elements With Maximum Frequency\", d: \"Easy\", s: \"count-elements-with-maximum-frequency\" },\n { n: 3006, t: \"Find Beautiful Indices in the Given Array I\", d: \"Medium\", s: \"find-beautiful-indices-in-the-given-array-i\" },\n { n: 3007, t: \"Maximum Number That Sum of the Prices Is Less Than or Equal to K\", d: \"Medium\", s: \"maximum-number-that-sum-of-the-prices-is-less-than-or-equal-to-k\" },\n { n: 3008, t: \"Find Beautiful Indices in the Given Array II\", d: \"Hard\", s: \"find-beautiful-indices-in-the-given-array-ii\" },\n { n: 3009, t: \"Maximum Number of Intersections on the Chart\", d: \"Hard\", s: \"maximum-number-of-intersections-on-the-chart\" },\n { n: 3010, t: \"Divide an Array Into Subarrays With Minimum Cost I\", d: \"Easy\", s: \"divide-an-array-into-subarrays-with-minimum-cost-i\" },\n { n: 3011, t: \"Find if Array Can Be Sorted\", d: \"Medium\", s: \"find-if-array-can-be-sorted\" },\n { n: 3012, t: \"Minimize Length of Array Using Operations\", d: \"Medium\", s: \"minimize-length-of-array-using-operations\" },\n { n: 3013, t: \"Divide an Array Into Subarrays With Minimum Cost II\", d: \"Hard\", s: \"divide-an-array-into-subarrays-with-minimum-cost-ii\" },\n { n: 3014, t: \"Minimum Number of Pushes to Type Word I\", d: \"Easy\", s: \"minimum-number-of-pushes-to-type-word-i\" },\n { n: 3015, t: \"Count the Number of Houses at a Certain Distance I\", d: \"Medium\", s: \"count-the-number-of-houses-at-a-certain-distance-i\" },\n { n: 3016, t: \"Minimum Number of Pushes to Type Word II\", d: \"Medium\", s: \"minimum-number-of-pushes-to-type-word-ii\" },\n { n: 3017, t: \"Count the Number of Houses at a Certain Distance II\", d: \"Hard\", s: \"count-the-number-of-houses-at-a-certain-distance-ii\" },\n { n: 3018, t: \"Maximum Number of Removal Queries That Can Be Processed I\", d: \"Hard\", s: \"maximum-number-of-removal-queries-that-can-be-processed-i\" },\n { n: 3019, t: \"Number of Changing Keys\", d: \"Easy\", s: \"number-of-changing-keys\" },\n { n: 3020, t: \"Find the Maximum Number of Elements in Subset\", d: \"Medium\", s: \"find-the-maximum-number-of-elements-in-subset\" },\n { n: 3021, t: \"Alice and Bob Playing Flower Game\", d: \"Medium\", s: \"alice-and-bob-playing-flower-game\" },\n { n: 3022, t: \"Minimize OR of Remaining Elements Using Operations\", d: \"Hard\", s: \"minimize-or-of-remaining-elements-using-operations\" },\n { n: 3023, t: \"Find Pattern in Infinite Stream I\", d: \"Medium\", s: \"find-pattern-in-infinite-stream-i\" },\n { n: 3024, t: \"Type of Triangle\", d: \"Easy\", s: \"type-of-triangle\" },\n { n: 3025, t: \"Find the Number of Ways to Place People I\", d: \"Medium\", s: \"find-the-number-of-ways-to-place-people-i\" },\n { n: 3026, t: \"Maximum Good Subarray Sum\", d: \"Medium\", s: \"maximum-good-subarray-sum\" },\n { n: 3027, t: \"Find the Number of Ways to Place People II\", d: \"Hard\", s: \"find-the-number-of-ways-to-place-people-ii\" },\n { n: 3028, t: \"Ant on the Boundary\", d: \"Easy\", s: \"ant-on-the-boundary\" },\n { n: 3029, t: \"Minimum Time to Revert Word to Initial State I\", d: \"Medium\", s: \"minimum-time-to-revert-word-to-initial-state-i\" },\n { n: 3030, t: \"Find the Grid of Region Average\", d: \"Medium\", s: \"find-the-grid-of-region-average\" },\n { n: 3031, t: \"Minimum Time to Revert Word to Initial State II\", d: \"Hard\", s: \"minimum-time-to-revert-word-to-initial-state-ii\" },\n { n: 3032, t: \"Count Numbers With Unique Digits II\", d: \"Easy\", s: \"count-numbers-with-unique-digits-ii\" },\n { n: 3033, t: \"Modify the Matrix\", d: \"Easy\", s: \"modify-the-matrix\" },\n { n: 3034, t: \"Number of Subarrays That Match a Pattern I\", d: \"Medium\", s: \"number-of-subarrays-that-match-a-pattern-i\" },\n { n: 3035, t: \"Maximum Palindromes After Operations\", d: \"Medium\", s: \"maximum-palindromes-after-operations\" },\n { n: 3036, t: \"Number of Subarrays That Match a Pattern II\", d: \"Hard\", s: \"number-of-subarrays-that-match-a-pattern-ii\" },\n { n: 3037, t: \"Find Pattern in Infinite Stream II\", d: \"Hard\", s: \"find-pattern-in-infinite-stream-ii\" },\n { n: 3038, t: \"Maximum Number of Operations With the Same Score I\", d: \"Easy\", s: \"maximum-number-of-operations-with-the-same-score-i\" },\n { n: 3039, t: \"Apply Operations to Make String Empty\", d: \"Medium\", s: \"apply-operations-to-make-string-empty\" },\n { n: 3040, t: \"Maximum Number of Operations With the Same Score II\", d: \"Medium\", s: \"maximum-number-of-operations-with-the-same-score-ii\" },\n { n: 3041, t: \"Maximize Consecutive Elements in an Array After Modification\", d: \"Hard\", s: \"maximize-consecutive-elements-in-an-array-after-modification\" },\n { n: 3042, t: \"Count Prefix and Suffix Pairs I\", d: \"Easy\", s: \"count-prefix-and-suffix-pairs-i\" },\n { n: 3043, t: \"Find the Length of the Longest Common Prefix\", d: \"Medium\", s: \"find-the-length-of-the-longest-common-prefix\" },\n { n: 3044, t: \"Most Frequent Prime\", d: \"Medium\", s: \"most-frequent-prime\" },\n { n: 3045, t: \"Count Prefix and Suffix Pairs II\", d: \"Hard\", s: \"count-prefix-and-suffix-pairs-ii\" },\n { n: 3046, t: \"Split the Array\", d: \"Easy\", s: \"split-the-array\" },\n { n: 3047, t: \"Find the Largest Area of Square Inside Two Rectangles\", d: \"Medium\", s: \"find-the-largest-area-of-square-inside-two-rectangles\" },\n { n: 3048, t: \"Earliest Second to Mark Indices I\", d: \"Medium\", s: \"earliest-second-to-mark-indices-i\" },\n { n: 3049, t: \"Earliest Second to Mark Indices II\", d: \"Hard\", s: \"earliest-second-to-mark-indices-ii\" },\n { n: 3050, t: \"Pizza Toppings Cost Analysis\", d: \"Medium\", s: \"pizza-toppings-cost-analysis\" },\n { n: 3051, t: \"Find Candidates for Data Scientist Position\", d: \"Easy\", s: \"find-candidates-for-data-scientist-position\" },\n { n: 3052, t: \"Maximize Items\", d: \"Hard\", s: \"maximize-items\" },\n { n: 3053, t: \"Classifying Triangles by Lengths\", d: \"Easy\", s: \"classifying-triangles-by-lengths\" },\n { n: 3054, t: \"Binary Tree Nodes\", d: \"Medium\", s: \"binary-tree-nodes\" },\n { n: 3055, t: \"Top Percentile Fraud\", d: \"Medium\", s: \"top-percentile-fraud\" },\n { n: 3056, t: \"Snaps Analysis\", d: \"Medium\", s: \"snaps-analysis\" },\n { n: 3057, t: \"Employees Project Allocation\", d: \"Hard\", s: \"employees-project-allocation\" },\n { n: 3058, t: \"Friends With No Mutual Friends\", d: \"Medium\", s: \"friends-with-no-mutual-friends\" },\n { n: 3059, t: \"Find All Unique Email Domains\", d: \"Easy\", s: \"find-all-unique-email-domains\" },\n { n: 3060, t: \"User Activities within Time Bounds\", d: \"Hard\", s: \"user-activities-within-time-bounds\" },\n { n: 3061, t: \"Calculate Trapping Rain Water\", d: \"Hard\", s: \"calculate-trapping-rain-water\" },\n { n: 3062, t: \"Winner of the Linked List Game\", d: \"Easy\", s: \"winner-of-the-linked-list-game\" },\n { n: 3063, t: \"Linked List Frequency\", d: \"Easy\", s: \"linked-list-frequency\" },\n { n: 3064, t: \"Guess the Number Using Bitwise Questions I\", d: \"Medium\", s: \"guess-the-number-using-bitwise-questions-i\" },\n { n: 3065, t: \"Minimum Operations to Exceed Threshold Value I\", d: \"Easy\", s: \"minimum-operations-to-exceed-threshold-value-i\" },\n { n: 3066, t: \"Minimum Operations to Exceed Threshold Value II\", d: \"Medium\", s: \"minimum-operations-to-exceed-threshold-value-ii\" },\n { n: 3067, t: \"Count Pairs of Connectable Servers in a Weighted Tree Network\", d: \"Medium\", s: \"count-pairs-of-connectable-servers-in-a-weighted-tree-network\" },\n { n: 3068, t: \"Find the Maximum Sum of Node Values\", d: \"Hard\", s: \"find-the-maximum-sum-of-node-values\" },\n { n: 3069, t: \"Distribute Elements Into Two Arrays I\", d: \"Easy\", s: \"distribute-elements-into-two-arrays-i\" },\n { n: 3070, t: \"Count Submatrices with Top-Left Element and Sum Less Than k\", d: \"Medium\", s: \"count-submatrices-with-top-left-element-and-sum-less-than-k\" },\n { n: 3071, t: \"Minimum Operations to Write the Letter Y on a Grid\", d: \"Medium\", s: \"minimum-operations-to-write-the-letter-y-on-a-grid\" },\n { n: 3072, t: \"Distribute Elements Into Two Arrays II\", d: \"Hard\", s: \"distribute-elements-into-two-arrays-ii\" },\n { n: 3073, t: \"Maximum Increasing Triplet Value\", d: \"Medium\", s: \"maximum-increasing-triplet-value\" },\n { n: 3074, t: \"Apple Redistribution into Boxes\", d: \"Easy\", s: \"apple-redistribution-into-boxes\" },\n { n: 3075, t: \"Maximize Happiness of Selected Children\", d: \"Medium\", s: \"maximize-happiness-of-selected-children\" },\n { n: 3076, t: \"Shortest Uncommon Substring in an Array\", d: \"Medium\", s: \"shortest-uncommon-substring-in-an-array\" },\n { n: 3077, t: \"Maximum Strength of K Disjoint Subarrays\", d: \"Hard\", s: \"maximum-strength-of-k-disjoint-subarrays\" },\n { n: 3078, t: \"Match Alphanumerical Pattern in Matrix I\", d: \"Medium\", s: \"match-alphanumerical-pattern-in-matrix-i\" },\n { n: 3079, t: \"Find the Sum of Encrypted Integers\", d: \"Easy\", s: \"find-the-sum-of-encrypted-integers\" },\n { n: 3080, t: \"Mark Elements on Array by Performing Queries\", d: \"Medium\", s: \"mark-elements-on-array-by-performing-queries\" },\n { n: 3081, t: \"Replace Question Marks in String to Minimize Its Value\", d: \"Medium\", s: \"replace-question-marks-in-string-to-minimize-its-value\" },\n { n: 3082, t: \"Find the Sum of the Power of All Subsequences\", d: \"Hard\", s: \"find-the-sum-of-the-power-of-all-subsequences\" },\n { n: 3083, t: \"Existence of a Substring in a String and Its Reverse\", d: \"Easy\", s: \"existence-of-a-substring-in-a-string-and-its-reverse\" },\n { n: 3084, t: \"Count Substrings Starting and Ending with Given Character\", d: \"Medium\", s: \"count-substrings-starting-and-ending-with-given-character\" },\n { n: 3085, t: \"Minimum Deletions to Make String K-Special\", d: \"Medium\", s: \"minimum-deletions-to-make-string-k-special\" },\n { n: 3086, t: \"Minimum Moves to Pick K Ones\", d: \"Hard\", s: \"minimum-moves-to-pick-k-ones\" },\n { n: 3087, t: \"Find Trending Hashtags\", d: \"Medium\", s: \"find-trending-hashtags\" },\n { n: 3088, t: \"Make String Anti-palindrome\", d: \"Hard\", s: \"make-string-anti-palindrome\" },\n { n: 3089, t: \"Find Bursty Behavior\", d: \"Medium\", s: \"find-bursty-behavior\" },\n { n: 3090, t: \"Maximum Length Substring With Two Occurrences\", d: \"Easy\", s: \"maximum-length-substring-with-two-occurrences\" },\n { n: 3091, t: \"Apply Operations to Make Sum of Array Greater Than or Equal to k\", d: \"Medium\", s: \"apply-operations-to-make-sum-of-array-greater-than-or-equal-to-k\" },\n { n: 3092, t: \"Most Frequent IDs\", d: \"Medium\", s: \"most-frequent-ids\" },\n { n: 3093, t: \"Longest Common Suffix Queries\", d: \"Hard\", s: \"longest-common-suffix-queries\" },\n { n: 3094, t: \"Guess the Number Using Bitwise Questions II\", d: \"Medium\", s: \"guess-the-number-using-bitwise-questions-ii\" },\n { n: 3095, t: \"Shortest Subarray With OR at Least K I\", d: \"Easy\", s: \"shortest-subarray-with-or-at-least-k-i\" },\n { n: 3096, t: \"Minimum Levels to Gain More Points\", d: \"Medium\", s: \"minimum-levels-to-gain-more-points\" },\n { n: 3097, t: \"Shortest Subarray With OR at Least K II\", d: \"Medium\", s: \"shortest-subarray-with-or-at-least-k-ii\" },\n { n: 3098, t: \"Find the Sum of Subsequence Powers\", d: \"Hard\", s: \"find-the-sum-of-subsequence-powers\" },\n { n: 3099, t: \"Harshad Number\", d: \"Easy\", s: \"harshad-number\" },\n { n: 3100, t: \"Water Bottles II\", d: \"Medium\", s: \"water-bottles-ii\" },\n { n: 3101, t: \"Count Alternating Subarrays\", d: \"Medium\", s: \"count-alternating-subarrays\" },\n { n: 3102, t: \"Minimize Manhattan Distances\", d: \"Hard\", s: \"minimize-manhattan-distances\" },\n { n: 3103, t: \"Find Trending Hashtags II\", d: \"Hard\", s: \"find-trending-hashtags-ii\" },\n { n: 3104, t: \"Find Longest Self-Contained Substring\", d: \"Hard\", s: \"find-longest-self-contained-substring\" },\n { n: 3105, t: \"Longest Strictly Increasing or Strictly Decreasing Subarray\", d: \"Easy\", s: \"longest-strictly-increasing-or-strictly-decreasing-subarray\" },\n { n: 3106, t: \"Lexicographically Smallest String After Operations With Constraint\", d: \"Medium\", s: \"lexicographically-smallest-string-after-operations-with-constraint\" },\n { n: 3107, t: \"Minimum Operations to Make Median of Array Equal to K\", d: \"Medium\", s: \"minimum-operations-to-make-median-of-array-equal-to-k\" },\n { n: 3108, t: \"Minimum Cost Walk in Weighted Graph\", d: \"Hard\", s: \"minimum-cost-walk-in-weighted-graph\" },\n { n: 3109, t: \"Find the Index of Permutation\", d: \"Medium\", s: \"find-the-index-of-permutation\" },\n { n: 3110, t: \"Score of a String\", d: \"Easy\", s: \"score-of-a-string\" },\n { n: 3111, t: \"Minimum Rectangles to Cover Points\", d: \"Medium\", s: \"minimum-rectangles-to-cover-points\" },\n { n: 3112, t: \"Minimum Time to Visit Disappearing Nodes\", d: \"Medium\", s: \"minimum-time-to-visit-disappearing-nodes\" },\n { n: 3113, t: \"Find the Number of Subarrays Where Boundary Elements Are Maximum\", d: \"Hard\", s: \"find-the-number-of-subarrays-where-boundary-elements-are-maximum\" },\n { n: 3114, t: \"Latest Time You Can Obtain After Replacing Characters\", d: \"Easy\", s: \"latest-time-you-can-obtain-after-replacing-characters\" },\n { n: 3115, t: \"Maximum Prime Difference\", d: \"Medium\", s: \"maximum-prime-difference\" },\n { n: 3116, t: \"Kth Smallest Amount With Single Denomination Combination\", d: \"Hard\", s: \"kth-smallest-amount-with-single-denomination-combination\" },\n { n: 3117, t: \"Minimum Sum of Values by Dividing Array\", d: \"Hard\", s: \"minimum-sum-of-values-by-dividing-array\" },\n { n: 3118, t: \"Friday Purchase III\", d: \"Medium\", s: \"friday-purchase-iii\" },\n { n: 3119, t: \"Maximum Number of Potholes That Can Be Fixed\", d: \"Medium\", s: \"maximum-number-of-potholes-that-can-be-fixed\" },\n { n: 3120, t: \"Count the Number of Special Characters I\", d: \"Easy\", s: \"count-the-number-of-special-characters-i\" },\n { n: 3121, t: \"Count the Number of Special Characters II\", d: \"Medium\", s: \"count-the-number-of-special-characters-ii\" },\n { n: 3122, t: \"Minimum Number of Operations to Satisfy Conditions\", d: \"Medium\", s: \"minimum-number-of-operations-to-satisfy-conditions\" },\n { n: 3123, t: \"Find Edges in Shortest Paths\", d: \"Hard\", s: \"find-edges-in-shortest-paths\" },\n { n: 3124, t: \"Find Longest Calls\", d: \"Medium\", s: \"find-longest-calls\" },\n { n: 3125, t: \"Maximum Number That Makes Result of Bitwise AND Zero\", d: \"Medium\", s: \"maximum-number-that-makes-result-of-bitwise-and-zero\" },\n { n: 3126, t: \"Server Utilization Time\", d: \"Medium\", s: \"server-utilization-time\" },\n { n: 3127, t: \"Make a Square with the Same Color\", d: \"Easy\", s: \"make-a-square-with-the-same-color\" },\n { n: 3128, t: \"Right Triangles\", d: \"Medium\", s: \"right-triangles\" },\n { n: 3129, t: \"Find All Possible Stable Binary Arrays I\", d: \"Medium\", s: \"find-all-possible-stable-binary-arrays-i\" },\n { n: 3130, t: \"Find All Possible Stable Binary Arrays II\", d: \"Hard\", s: \"find-all-possible-stable-binary-arrays-ii\" },\n { n: 3131, t: \"Find the Integer Added to Array I\", d: \"Easy\", s: \"find-the-integer-added-to-array-i\" },\n { n: 3132, t: \"Find the Integer Added to Array II\", d: \"Medium\", s: \"find-the-integer-added-to-array-ii\" },\n { n: 3133, t: \"Minimum Array End\", d: \"Medium\", s: \"minimum-array-end\" },\n { n: 3134, t: \"Find the Median of the Uniqueness Array\", d: \"Hard\", s: \"find-the-median-of-the-uniqueness-array\" },\n { n: 3135, t: \"Equalize Strings by Adding or Removing Characters at Ends\", d: \"Medium\", s: \"equalize-strings-by-adding-or-removing-characters-at-ends\" },\n { n: 3136, t: \"Valid Word\", d: \"Easy\", s: \"valid-word\" },\n { n: 3137, t: \"Minimum Number of Operations to Make Word K-Periodic\", d: \"Medium\", s: \"minimum-number-of-operations-to-make-word-k-periodic\" },\n { n: 3138, t: \"Minimum Length of Anagram Concatenation\", d: \"Medium\", s: \"minimum-length-of-anagram-concatenation\" },\n { n: 3139, t: \"Minimum Cost to Equalize Array\", d: \"Hard\", s: \"minimum-cost-to-equalize-array\" },\n { n: 3140, t: \"Consecutive Available Seats II\", d: \"Medium\", s: \"consecutive-available-seats-ii\" },\n { n: 3141, t: \"Maximum Hamming Distances\", d: \"Hard\", s: \"maximum-hamming-distances\" },\n { n: 3142, t: \"Check if Grid Satisfies Conditions\", d: \"Easy\", s: \"check-if-grid-satisfies-conditions\" },\n { n: 3143, t: \"Maximum Points Inside the Square\", d: \"Medium\", s: \"maximum-points-inside-the-square\" },\n { n: 3144, t: \"Minimum Substring Partition of Equal Character Frequency\", d: \"Medium\", s: \"minimum-substring-partition-of-equal-character-frequency\" },\n { n: 3145, t: \"Find Products of Elements of Big Array\", d: \"Hard\", s: \"find-products-of-elements-of-big-array\" },\n { n: 3146, t: \"Permutation Difference between Two Strings\", d: \"Easy\", s: \"permutation-difference-between-two-strings\" },\n { n: 3147, t: \"Taking Maximum Energy From the Mystic Dungeon\", d: \"Medium\", s: \"taking-maximum-energy-from-the-mystic-dungeon\" },\n { n: 3148, t: \"Maximum Difference Score in a Grid\", d: \"Medium\", s: \"maximum-difference-score-in-a-grid\" },\n { n: 3149, t: \"Find the Minimum Cost Array Permutation\", d: \"Hard\", s: \"find-the-minimum-cost-array-permutation\" },\n { n: 3150, t: \"Invalid Tweets II\", d: \"Easy\", s: \"invalid-tweets-ii\" },\n { n: 3151, t: \"Special Array I\", d: \"Easy\", s: \"special-array-i\" },\n { n: 3152, t: \"Special Array II\", d: \"Medium\", s: \"special-array-ii\" },\n { n: 3153, t: \"Sum of Digit Differences of All Pairs\", d: \"Medium\", s: \"sum-of-digit-differences-of-all-pairs\" },\n { n: 3154, t: \"Find Number of Ways to Reach the K-th Stair\", d: \"Hard\", s: \"find-number-of-ways-to-reach-the-k-th-stair\" },\n { n: 3155, t: \"Maximum Number of Upgradable Servers\", d: \"Medium\", s: \"maximum-number-of-upgradable-servers\" },\n { n: 3156, t: \"Employee Task Duration and Concurrent Tasks\", d: \"Hard\", s: \"employee-task-duration-and-concurrent-tasks\" },\n { n: 3157, t: \"Find the Level of Tree with Minimum Sum\", d: \"Medium\", s: \"find-the-level-of-tree-with-minimum-sum\" },\n { n: 3158, t: \"Find the XOR of Numbers Which Appear Twice\", d: \"Easy\", s: \"find-the-xor-of-numbers-which-appear-twice\" },\n { n: 3159, t: \"Find Occurrences of an Element in an Array\", d: \"Medium\", s: \"find-occurrences-of-an-element-in-an-array\" },\n { n: 3160, t: \"Find the Number of Distinct Colors Among the Balls\", d: \"Medium\", s: \"find-the-number-of-distinct-colors-among-the-balls\" },\n { n: 3161, t: \"Block Placement Queries\", d: \"Hard\", s: \"block-placement-queries\" },\n { n: 3162, t: \"Find the Number of Good Pairs I\", d: \"Easy\", s: \"find-the-number-of-good-pairs-i\" },\n { n: 3163, t: \"String Compression III\", d: \"Medium\", s: \"string-compression-iii\" },\n { n: 3164, t: \"Find the Number of Good Pairs II\", d: \"Medium\", s: \"find-the-number-of-good-pairs-ii\" },\n { n: 3165, t: \"Maximum Sum of Subsequence With Non-adjacent Elements\", d: \"Hard\", s: \"maximum-sum-of-subsequence-with-non-adjacent-elements\" },\n { n: 3166, t: \"Calculate Parking Fees and Duration\", d: \"Medium\", s: \"calculate-parking-fees-and-duration\" },\n { n: 3167, t: \"Better Compression of String\", d: \"Medium\", s: \"better-compression-of-string\" },\n { n: 3168, t: \"Minimum Number of Chairs in a Waiting Room\", d: \"Easy\", s: \"minimum-number-of-chairs-in-a-waiting-room\" },\n { n: 3169, t: \"Count Days Without Meetings\", d: \"Medium\", s: \"count-days-without-meetings\" },\n { n: 3170, t: \"Lexicographically Minimum String After Removing Stars\", d: \"Medium\", s: \"lexicographically-minimum-string-after-removing-stars\" },\n { n: 3171, t: \"Find Subarray With Bitwise OR Closest to K\", d: \"Hard\", s: \"find-subarray-with-bitwise-or-closest-to-k\" },\n { n: 3172, t: \"Second Day Verification\", d: \"Easy\", s: \"second-day-verification\" },\n { n: 3173, t: \"Bitwise OR of Adjacent Elements\", d: \"Easy\", s: \"bitwise-or-of-adjacent-elements\" },\n { n: 3174, t: \"Clear Digits\", d: \"Easy\", s: \"clear-digits\" },\n { n: 3175, t: \"Find The First Player to win K Games in a Row\", d: \"Medium\", s: \"find-the-first-player-to-win-k-games-in-a-row\" },\n { n: 3176, t: \"Find the Maximum Length of a Good Subsequence I\", d: \"Medium\", s: \"find-the-maximum-length-of-a-good-subsequence-i\" },\n { n: 3177, t: \"Find the Maximum Length of a Good Subsequence II\", d: \"Hard\", s: \"find-the-maximum-length-of-a-good-subsequence-ii\" },\n { n: 3178, t: \"Find the Child Who Has the Ball After K Seconds\", d: \"Easy\", s: \"find-the-child-who-has-the-ball-after-k-seconds\" },\n { n: 3179, t: \"Find the N-th Value After K Seconds\", d: \"Medium\", s: \"find-the-n-th-value-after-k-seconds\" },\n { n: 3180, t: \"Maximum Total Reward Using Operations I\", d: \"Medium\", s: \"maximum-total-reward-using-operations-i\" },\n { n: 3181, t: \"Maximum Total Reward Using Operations II\", d: \"Hard\", s: \"maximum-total-reward-using-operations-ii\" },\n { n: 3182, t: \"Find Top Scoring Students\", d: \"Medium\", s: \"find-top-scoring-students\" },\n { n: 3183, t: \"The Number of Ways to Make the Sum\", d: \"Medium\", s: \"the-number-of-ways-to-make-the-sum\" },\n { n: 3184, t: \"Count Pairs That Form a Complete Day I\", d: \"Easy\", s: \"count-pairs-that-form-a-complete-day-i\" },\n { n: 3185, t: \"Count Pairs That Form a Complete Day II\", d: \"Medium\", s: \"count-pairs-that-form-a-complete-day-ii\" },\n { n: 3186, t: \"Maximum Total Damage With Spell Casting\", d: \"Medium\", s: \"maximum-total-damage-with-spell-casting\" },\n { n: 3187, t: \"Peaks in Array\", d: \"Hard\", s: \"peaks-in-array\" },\n { n: 3188, t: \"Find Top Scoring Students II\", d: \"Hard\", s: \"find-top-scoring-students-ii\" },\n { n: 3189, t: \"Minimum Moves to Get a Peaceful Board\", d: \"Medium\", s: \"minimum-moves-to-get-a-peaceful-board\" },\n { n: 3190, t: \"Find Minimum Operations to Make All Elements Divisible by Three\", d: \"Easy\", s: \"find-minimum-operations-to-make-all-elements-divisible-by-three\" },\n { n: 3191, t: \"Minimum Operations to Make Binary Array Elements Equal to One I\", d: \"Medium\", s: \"minimum-operations-to-make-binary-array-elements-equal-to-one-i\" },\n { n: 3192, t: \"Minimum Operations to Make Binary Array Elements Equal to One II\", d: \"Medium\", s: \"minimum-operations-to-make-binary-array-elements-equal-to-one-ii\" },\n { n: 3193, t: \"Count the Number of Inversions\", d: \"Hard\", s: \"count-the-number-of-inversions\" },\n { n: 3194, t: \"Minimum Average of Smallest and Largest Elements\", d: \"Easy\", s: \"minimum-average-of-smallest-and-largest-elements\" },\n { n: 3195, t: \"Find the Minimum Area to Cover All Ones I\", d: \"Medium\", s: \"find-the-minimum-area-to-cover-all-ones-i\" },\n { n: 3196, t: \"Maximize Total Cost of Alternating Subarrays\", d: \"Medium\", s: \"maximize-total-cost-of-alternating-subarrays\" },\n { n: 3197, t: \"Find the Minimum Area to Cover All Ones II\", d: \"Hard\", s: \"find-the-minimum-area-to-cover-all-ones-ii\" },\n { n: 3198, t: \"Find Cities in Each State\", d: \"Easy\", s: \"find-cities-in-each-state\" },\n { n: 3199, t: \"Count Triplets with Even XOR Set Bits I\", d: \"Easy\", s: \"count-triplets-with-even-xor-set-bits-i\" },\n { n: 3200, t: \"Maximum Height of a Triangle\", d: \"Easy\", s: \"maximum-height-of-a-triangle\" },\n { n: 3201, t: \"Find the Maximum Length of Valid Subsequence I\", d: \"Medium\", s: \"find-the-maximum-length-of-valid-subsequence-i\" },\n { n: 3202, t: \"Find the Maximum Length of Valid Subsequence II\", d: \"Medium\", s: \"find-the-maximum-length-of-valid-subsequence-ii\" },\n { n: 3203, t: \"Find Minimum Diameter After Merging Two Trees\", d: \"Hard\", s: \"find-minimum-diameter-after-merging-two-trees\" },\n { n: 3204, t: \"Bitwise User Permissions Analysis\", d: \"Medium\", s: \"bitwise-user-permissions-analysis\" },\n { n: 3205, t: \"Maximum Array Hopping Score I\", d: \"Medium\", s: \"maximum-array-hopping-score-i\" },\n { n: 3206, t: \"Alternating Groups I\", d: \"Easy\", s: \"alternating-groups-i\" },\n { n: 3207, t: \"Maximum Points After Enemy Battles\", d: \"Medium\", s: \"maximum-points-after-enemy-battles\" },\n { n: 3208, t: \"Alternating Groups II\", d: \"Medium\", s: \"alternating-groups-ii\" },\n { n: 3209, t: \"Number of Subarrays With AND Value of K\", d: \"Hard\", s: \"number-of-subarrays-with-and-value-of-k\" },\n { n: 3210, t: \"Find the Encrypted String\", d: \"Easy\", s: \"find-the-encrypted-string\" },\n { n: 3211, t: \"Generate Binary Strings Without Adjacent Zeros\", d: \"Medium\", s: \"generate-binary-strings-without-adjacent-zeros\" },\n { n: 3212, t: \"Count Submatrices With Equal Frequency of X and Y\", d: \"Medium\", s: \"count-submatrices-with-equal-frequency-of-x-and-y\" },\n { n: 3213, t: \"Construct String with Minimum Cost\", d: \"Hard\", s: \"construct-string-with-minimum-cost\" },\n { n: 3214, t: \"Year on Year Growth Rate\", d: \"Hard\", s: \"year-on-year-growth-rate\" },\n { n: 3215, t: \"Count Triplets with Even XOR Set Bits II\", d: \"Medium\", s: \"count-triplets-with-even-xor-set-bits-ii\" },\n { n: 3216, t: \"Lexicographically Smallest String After a Swap\", d: \"Easy\", s: \"lexicographically-smallest-string-after-a-swap\" },\n { n: 3217, t: \"Delete Nodes From Linked List Present in Array\", d: \"Medium\", s: \"delete-nodes-from-linked-list-present-in-array\" },\n { n: 3218, t: \"Minimum Cost for Cutting Cake I\", d: \"Medium\", s: \"minimum-cost-for-cutting-cake-i\" },\n { n: 3219, t: \"Minimum Cost for Cutting Cake II\", d: \"Hard\", s: \"minimum-cost-for-cutting-cake-ii\" },\n { n: 3220, t: \"Odd and Even Transactions\", d: \"Medium\", s: \"odd-and-even-transactions\" },\n { n: 3221, t: \"Maximum Array Hopping Score II\", d: \"Medium\", s: \"maximum-array-hopping-score-ii\" },\n { n: 3222, t: \"Find the Winning Player in Coin Game\", d: \"Easy\", s: \"find-the-winning-player-in-coin-game\" },\n { n: 3223, t: \"Minimum Length of String After Operations\", d: \"Medium\", s: \"minimum-length-of-string-after-operations\" },\n { n: 3224, t: \"Minimum Array Changes to Make Differences Equal\", d: \"Medium\", s: \"minimum-array-changes-to-make-differences-equal\" },\n { n: 3225, t: \"Maximum Score From Grid Operations\", d: \"Hard\", s: \"maximum-score-from-grid-operations\" },\n { n: 3226, t: \"Number of Bit Changes to Make Two Integers Equal\", d: \"Easy\", s: \"number-of-bit-changes-to-make-two-integers-equal\" },\n { n: 3227, t: \"Vowels Game in a String\", d: \"Medium\", s: \"vowels-game-in-a-string\" },\n { n: 3228, t: \"Maximum Number of Operations to Move Ones to the End\", d: \"Medium\", s: \"maximum-number-of-operations-to-move-ones-to-the-end\" },\n { n: 3229, t: \"Minimum Operations to Make Array Equal to Target\", d: \"Hard\", s: \"minimum-operations-to-make-array-equal-to-target\" },\n { n: 3230, t: \"Customer Purchasing Behavior Analysis\", d: \"Medium\", s: \"customer-purchasing-behavior-analysis\" },\n { n: 3231, t: \"Minimum Number of Increasing Subsequence to Be Removed\", d: \"Hard\", s: \"minimum-number-of-increasing-subsequence-to-be-removed\" },\n { n: 3232, t: \"Find if Digit Game Can Be Won\", d: \"Easy\", s: \"find-if-digit-game-can-be-won\" },\n { n: 3233, t: \"Find the Count of Numbers Which Are Not Special\", d: \"Medium\", s: \"find-the-count-of-numbers-which-are-not-special\" },\n { n: 3234, t: \"Count the Number of Substrings With Dominant Ones\", d: \"Medium\", s: \"count-the-number-of-substrings-with-dominant-ones\" },\n { n: 3235, t: \"Check if the Rectangle Corner Is Reachable\", d: \"Hard\", s: \"check-if-the-rectangle-corner-is-reachable\" },\n { n: 3236, t: \"CEO Subordinate Hierarchy\", d: \"Hard\", s: \"ceo-subordinate-hierarchy\" },\n { n: 3237, t: \"Alt and Tab Simulation\", d: \"Medium\", s: \"alt-and-tab-simulation\" },\n { n: 3238, t: \"Find the Number of Winning Players\", d: \"Easy\", s: \"find-the-number-of-winning-players\" },\n { n: 3239, t: \"Minimum Number of Flips to Make Binary Grid Palindromic I\", d: \"Medium\", s: \"minimum-number-of-flips-to-make-binary-grid-palindromic-i\" },\n { n: 3240, t: \"Minimum Number of Flips to Make Binary Grid Palindromic II\", d: \"Medium\", s: \"minimum-number-of-flips-to-make-binary-grid-palindromic-ii\" },\n { n: 3241, t: \"Time Taken to Mark All Nodes\", d: \"Hard\", s: \"time-taken-to-mark-all-nodes\" },\n { n: 3242, t: \"Design Neighbor Sum Service\", d: \"Easy\", s: \"design-neighbor-sum-service\" },\n { n: 3243, t: \"Shortest Distance After Road Addition Queries I\", d: \"Medium\", s: \"shortest-distance-after-road-addition-queries-i\" },\n { n: 3244, t: \"Shortest Distance After Road Addition Queries II\", d: \"Hard\", s: \"shortest-distance-after-road-addition-queries-ii\" },\n { n: 3245, t: \"Alternating Groups III\", d: \"Hard\", s: \"alternating-groups-iii\" },\n { n: 3246, t: \"Premier League Table Ranking\", d: \"Easy\", s: \"premier-league-table-ranking\" },\n { n: 3247, t: \"Number of Subsequences with Odd Sum\", d: \"Medium\", s: \"number-of-subsequences-with-odd-sum\" },\n { n: 3248, t: \"Snake in Matrix\", d: \"Easy\", s: \"snake-in-matrix\" },\n { n: 3249, t: \"Count the Number of Good Nodes\", d: \"Medium\", s: \"count-the-number-of-good-nodes\" },\n { n: 3250, t: \"Find the Count of Monotonic Pairs I\", d: \"Hard\", s: \"find-the-count-of-monotonic-pairs-i\" },\n { n: 3251, t: \"Find the Count of Monotonic Pairs II\", d: \"Hard\", s: \"find-the-count-of-monotonic-pairs-ii\" },\n { n: 3252, t: \"Premier League Table Ranking II\", d: \"Medium\", s: \"premier-league-table-ranking-ii\" },\n { n: 3253, t: \"Construct String with Minimum Cost (Easy)\", d: \"Medium\", s: \"construct-string-with-minimum-cost-easy\" },\n { n: 3254, t: \"Find the Power of K-Size Subarrays I\", d: \"Medium\", s: \"find-the-power-of-k-size-subarrays-i\" },\n { n: 3255, t: \"Find the Power of K-Size Subarrays II\", d: \"Medium\", s: \"find-the-power-of-k-size-subarrays-ii\" },\n { n: 3256, t: \"Maximum Value Sum by Placing Three Rooks I\", d: \"Hard\", s: \"maximum-value-sum-by-placing-three-rooks-i\" },\n { n: 3257, t: \"Maximum Value Sum by Placing Three Rooks II\", d: \"Hard\", s: \"maximum-value-sum-by-placing-three-rooks-ii\" },\n { n: 3258, t: \"Count Substrings That Satisfy K-Constraint I\", d: \"Easy\", s: \"count-substrings-that-satisfy-k-constraint-i\" },\n { n: 3259, t: \"Maximum Energy Boost From Two Drinks\", d: \"Medium\", s: \"maximum-energy-boost-from-two-drinks\" },\n { n: 3260, t: \"Find the Largest Palindrome Divisible by K\", d: \"Hard\", s: \"find-the-largest-palindrome-divisible-by-k\" },\n { n: 3261, t: \"Count Substrings That Satisfy K-Constraint II\", d: \"Hard\", s: \"count-substrings-that-satisfy-k-constraint-ii\" },\n { n: 3262, t: \"Find Overlapping Shifts\", d: \"Medium\", s: \"find-overlapping-shifts\" },\n { n: 3263, t: \"Convert Doubly Linked List to Array I\", d: \"Easy\", s: \"convert-doubly-linked-list-to-array-i\" },\n { n: 3264, t: \"Final Array State After K Multiplication Operations I\", d: \"Easy\", s: \"final-array-state-after-k-multiplication-operations-i\" },\n { n: 3265, t: \"Count Almost Equal Pairs I\", d: \"Medium\", s: \"count-almost-equal-pairs-i\" },\n { n: 3266, t: \"Final Array State After K Multiplication Operations II\", d: \"Hard\", s: \"final-array-state-after-k-multiplication-operations-ii\" },\n { n: 3267, t: \"Count Almost Equal Pairs II\", d: \"Hard\", s: \"count-almost-equal-pairs-ii\" },\n { n: 3268, t: \"Find Overlapping Shifts II\", d: \"Hard\", s: \"find-overlapping-shifts-ii\" },\n { n: 3269, t: \"Constructing Two Increasing Arrays\", d: \"Hard\", s: \"constructing-two-increasing-arrays\" },\n { n: 3270, t: \"Find the Key of the Numbers\", d: \"Easy\", s: \"find-the-key-of-the-numbers\" },\n { n: 3271, t: \"Hash Divided String\", d: \"Medium\", s: \"hash-divided-string\" },\n { n: 3272, t: \"Find the Count of Good Integers\", d: \"Hard\", s: \"find-the-count-of-good-integers\" },\n { n: 3273, t: \"Minimum Amount of Damage Dealt to Bob\", d: \"Hard\", s: \"minimum-amount-of-damage-dealt-to-bob\" },\n { n: 3274, t: \"Check if Two Chessboard Squares Have the Same Color\", d: \"Easy\", s: \"check-if-two-chessboard-squares-have-the-same-color\" },\n { n: 3275, t: \"K-th Nearest Obstacle Queries\", d: \"Medium\", s: \"k-th-nearest-obstacle-queries\" },\n { n: 3276, t: \"Select Cells in Grid With Maximum Score\", d: \"Hard\", s: \"select-cells-in-grid-with-maximum-score\" },\n { n: 3277, t: \"Maximum XOR Score Subarray Queries\", d: \"Hard\", s: \"maximum-xor-score-subarray-queries\" },\n { n: 3278, t: \"Find Candidates for Data Scientist Position II\", d: \"Medium\", s: \"find-candidates-for-data-scientist-position-ii\" },\n { n: 3279, t: \"Maximum Total Area Occupied by Pistons\", d: \"Hard\", s: \"maximum-total-area-occupied-by-pistons\" },\n { n: 3280, t: \"Convert Date to Binary\", d: \"Easy\", s: \"convert-date-to-binary\" },\n { n: 3281, t: \"Maximize Score of Numbers in Ranges\", d: \"Medium\", s: \"maximize-score-of-numbers-in-ranges\" },\n { n: 3282, t: \"Reach End of Array With Max Score\", d: \"Medium\", s: \"reach-end-of-array-with-max-score\" },\n { n: 3283, t: \"Maximum Number of Moves to Kill All Pawns\", d: \"Hard\", s: \"maximum-number-of-moves-to-kill-all-pawns\" },\n { n: 3284, t: \"Sum of Consecutive Subarrays\", d: \"Medium\", s: \"sum-of-consecutive-subarrays\" },\n { n: 3285, t: \"Find Indices of Stable Mountains\", d: \"Easy\", s: \"find-indices-of-stable-mountains\" },\n { n: 3286, t: \"Find a Safe Walk Through a Grid\", d: \"Medium\", s: \"find-a-safe-walk-through-a-grid\" },\n { n: 3287, t: \"Find the Maximum Sequence Value of Array\", d: \"Hard\", s: \"find-the-maximum-sequence-value-of-array\" },\n { n: 3288, t: \"Length of the Longest Increasing Path\", d: \"Hard\", s: \"length-of-the-longest-increasing-path\" },\n { n: 3289, t: \"The Two Sneaky Numbers of Digitville\", d: \"Easy\", s: \"the-two-sneaky-numbers-of-digitville\" },\n { n: 3290, t: \"Maximum Multiplication Score\", d: \"Medium\", s: \"maximum-multiplication-score\" },\n { n: 3291, t: \"Minimum Number of Valid Strings to Form Target I\", d: \"Medium\", s: \"minimum-number-of-valid-strings-to-form-target-i\" },\n { n: 3292, t: \"Minimum Number of Valid Strings to Form Target II\", d: \"Hard\", s: \"minimum-number-of-valid-strings-to-form-target-ii\" },\n { n: 3293, t: \"Calculate Product Final Price\", d: \"Medium\", s: \"calculate-product-final-price\" },\n { n: 3294, t: \"Convert Doubly Linked List to Array II\", d: \"Medium\", s: \"convert-doubly-linked-list-to-array-ii\" },\n { n: 3295, t: \"Report Spam Message\", d: \"Medium\", s: \"report-spam-message\" },\n { n: 3296, t: \"Minimum Number of Seconds to Make Mountain Height Zero\", d: \"Medium\", s: \"minimum-number-of-seconds-to-make-mountain-height-zero\" },\n { n: 3297, t: \"Count Substrings That Can Be Rearranged to Contain a String I\", d: \"Medium\", s: \"count-substrings-that-can-be-rearranged-to-contain-a-string-i\" },\n { n: 3298, t: \"Count Substrings That Can Be Rearranged to Contain a String II\", d: \"Hard\", s: \"count-substrings-that-can-be-rearranged-to-contain-a-string-ii\" },\n { n: 3299, t: \"Sum of Consecutive Subsequences\", d: \"Hard\", s: \"sum-of-consecutive-subsequences\" },\n { n: 3300, t: \"Minimum Element After Replacement With Digit Sum\", d: \"Easy\", s: \"minimum-element-after-replacement-with-digit-sum\" },\n { n: 3301, t: \"Maximize the Total Height of Unique Towers\", d: \"Medium\", s: \"maximize-the-total-height-of-unique-towers\" },\n { n: 3302, t: \"Find the Lexicographically Smallest Valid Sequence\", d: \"Medium\", s: \"find-the-lexicographically-smallest-valid-sequence\" },\n { n: 3303, t: \"Find the Occurrence of First Almost Equal Substring\", d: \"Hard\", s: \"find-the-occurrence-of-first-almost-equal-substring\" },\n { n: 3304, t: \"Find the K-th Character in String Game I\", d: \"Easy\", s: \"find-the-k-th-character-in-string-game-i\" },\n { n: 3305, t: \"Count of Substrings Containing Every Vowel and K Consonants I\", d: \"Medium\", s: \"count-of-substrings-containing-every-vowel-and-k-consonants-i\" },\n { n: 3306, t: \"Count of Substrings Containing Every Vowel and K Consonants II\", d: \"Medium\", s: \"count-of-substrings-containing-every-vowel-and-k-consonants-ii\" },\n { n: 3307, t: \"Find the K-th Character in String Game II\", d: \"Hard\", s: \"find-the-k-th-character-in-string-game-ii\" },\n { n: 3308, t: \"Find Top Performing Driver\", d: \"Medium\", s: \"find-top-performing-driver\" },\n { n: 3309, t: \"Maximum Possible Number by Binary Concatenation\", d: \"Medium\", s: \"maximum-possible-number-by-binary-concatenation\" },\n { n: 3310, t: \"Remove Methods From Project\", d: \"Medium\", s: \"remove-methods-from-project\" },\n { n: 3311, t: \"Construct 2D Grid Matching Graph Layout\", d: \"Hard\", s: \"construct-2d-grid-matching-graph-layout\" },\n { n: 3312, t: \"Sorted GCD Pair Queries\", d: \"Hard\", s: \"sorted-gcd-pair-queries\" },\n { n: 3313, t: \"Find the Last Marked Nodes in Tree\", d: \"Hard\", s: \"find-the-last-marked-nodes-in-tree\" },\n { n: 3314, t: \"Construct the Minimum Bitwise Array I\", d: \"Easy\", s: \"construct-the-minimum-bitwise-array-i\" },\n { n: 3315, t: \"Construct the Minimum Bitwise Array II\", d: \"Medium\", s: \"construct-the-minimum-bitwise-array-ii\" },\n { n: 3316, t: \"Find Maximum Removals From Source String\", d: \"Medium\", s: \"find-maximum-removals-from-source-string\" },\n { n: 3317, t: \"Find the Number of Possible Ways for an Event\", d: \"Hard\", s: \"find-the-number-of-possible-ways-for-an-event\" },\n { n: 3318, t: \"Find X-Sum of All K-Long Subarrays I\", d: \"Easy\", s: \"find-x-sum-of-all-k-long-subarrays-i\" },\n { n: 3319, t: \"K-th Largest Perfect Subtree Size in Binary Tree\", d: \"Medium\", s: \"k-th-largest-perfect-subtree-size-in-binary-tree\" },\n { n: 3320, t: \"Count The Number of Winning Sequences\", d: \"Hard\", s: \"count-the-number-of-winning-sequences\" },\n { n: 3321, t: \"Find X-Sum of All K-Long Subarrays II\", d: \"Hard\", s: \"find-x-sum-of-all-k-long-subarrays-ii\" },\n { n: 3322, t: \"Premier League Table Ranking III\", d: \"Medium\", s: \"premier-league-table-ranking-iii\" },\n { n: 3323, t: \"Minimize Connected Groups by Inserting Interval\", d: \"Medium\", s: \"minimize-connected-groups-by-inserting-interval\" },\n { n: 3324, t: \"Find the Sequence of Strings Appeared on the Screen\", d: \"Medium\", s: \"find-the-sequence-of-strings-appeared-on-the-screen\" },\n { n: 3325, t: \"Count Substrings With K-Frequency Characters I\", d: \"Medium\", s: \"count-substrings-with-k-frequency-characters-i\" },\n { n: 3326, t: \"Minimum Division Operations to Make Array Non Decreasing\", d: \"Medium\", s: \"minimum-division-operations-to-make-array-non-decreasing\" },\n { n: 3327, t: \"Check if DFS Strings Are Palindromes\", d: \"Hard\", s: \"check-if-dfs-strings-are-palindromes\" },\n { n: 3328, t: \"Find Cities in Each State II\", d: \"Medium\", s: \"find-cities-in-each-state-ii\" },\n { n: 3329, t: \"Count Substrings With K-Frequency Characters II\", d: \"Hard\", s: \"count-substrings-with-k-frequency-characters-ii\" },\n { n: 3330, t: \"Find the Original Typed String I\", d: \"Easy\", s: \"find-the-original-typed-string-i\" },\n { n: 3331, t: \"Find Subtree Sizes After Changes\", d: \"Medium\", s: \"find-subtree-sizes-after-changes\" },\n { n: 3332, t: \"Maximum Points Tourist Can Earn\", d: \"Medium\", s: \"maximum-points-tourist-can-earn\" },\n { n: 3333, t: \"Find the Original Typed String II\", d: \"Hard\", s: \"find-the-original-typed-string-ii\" },\n { n: 3334, t: \"Find the Maximum Factor Score of Array\", d: \"Medium\", s: \"find-the-maximum-factor-score-of-array\" },\n { n: 3335, t: \"Total Characters in String After Transformations I\", d: \"Medium\", s: \"total-characters-in-string-after-transformations-i\" },\n { n: 3336, t: \"Find the Number of Subsequences With Equal GCD\", d: \"Hard\", s: \"find-the-number-of-subsequences-with-equal-gcd\" },\n { n: 3337, t: \"Total Characters in String After Transformations II\", d: \"Hard\", s: \"total-characters-in-string-after-transformations-ii\" },\n { n: 3338, t: \"Second Highest Salary II\", d: \"Medium\", s: \"second-highest-salary-ii\" },\n { n: 3339, t: \"Find the Number of K-Even Arrays\", d: \"Medium\", s: \"find-the-number-of-k-even-arrays\" },\n { n: 3340, t: \"Check Balanced String\", d: \"Easy\", s: \"check-balanced-string\" },\n { n: 3341, t: \"Find Minimum Time to Reach Last Room I\", d: \"Medium\", s: \"find-minimum-time-to-reach-last-room-i\" },\n { n: 3342, t: \"Find Minimum Time to Reach Last Room II\", d: \"Medium\", s: \"find-minimum-time-to-reach-last-room-ii\" },\n { n: 3343, t: \"Count Number of Balanced Permutations\", d: \"Hard\", s: \"count-number-of-balanced-permutations\" },\n { n: 3344, t: \"Maximum Sized Array\", d: \"Medium\", s: \"maximum-sized-array\" },\n { n: 3345, t: \"Smallest Divisible Digit Product I\", d: \"Easy\", s: \"smallest-divisible-digit-product-i\" },\n { n: 3346, t: \"Maximum Frequency of an Element After Performing Operations I\", d: \"Medium\", s: \"maximum-frequency-of-an-element-after-performing-operations-i\" },\n { n: 3347, t: \"Maximum Frequency of an Element After Performing Operations II\", d: \"Hard\", s: \"maximum-frequency-of-an-element-after-performing-operations-ii\" },\n { n: 3348, t: \"Smallest Divisible Digit Product II\", d: \"Hard\", s: \"smallest-divisible-digit-product-ii\" },\n { n: 3349, t: \"Adjacent Increasing Subarrays Detection I\", d: \"Easy\", s: \"adjacent-increasing-subarrays-detection-i\" },\n { n: 3350, t: \"Adjacent Increasing Subarrays Detection II\", d: \"Medium\", s: \"adjacent-increasing-subarrays-detection-ii\" },\n { n: 3351, t: \"Sum of Good Subsequences\", d: \"Hard\", s: \"sum-of-good-subsequences\" },\n { n: 3352, t: \"Count K-Reducible Numbers Less Than N\", d: \"Hard\", s: \"count-k-reducible-numbers-less-than-n\" },\n { n: 3353, t: \"Minimum Total Operations\", d: \"Easy\", s: \"minimum-total-operations\" },\n { n: 3354, t: \"Make Array Elements Equal to Zero\", d: \"Easy\", s: \"make-array-elements-equal-to-zero\" },\n { n: 3355, t: \"Zero Array Transformation I\", d: \"Medium\", s: \"zero-array-transformation-i\" },\n { n: 3356, t: \"Zero Array Transformation II\", d: \"Medium\", s: \"zero-array-transformation-ii\" },\n { n: 3357, t: \"Minimize the Maximum Adjacent Element Difference\", d: \"Hard\", s: \"minimize-the-maximum-adjacent-element-difference\" },\n { n: 3358, t: \"Books with NULL Ratings\", d: \"Easy\", s: \"books-with-null-ratings\" },\n { n: 3359, t: \"Find Sorted Submatrices With Maximum Element at Most K\", d: \"Hard\", s: \"find-sorted-submatrices-with-maximum-element-at-most-k\" },\n { n: 3360, t: \"Stone Removal Game\", d: \"Easy\", s: \"stone-removal-game\" },\n { n: 3361, t: \"Shift Distance Between Two Strings\", d: \"Medium\", s: \"shift-distance-between-two-strings\" },\n { n: 3362, t: \"Zero Array Transformation III\", d: \"Medium\", s: \"zero-array-transformation-iii\" },\n { n: 3363, t: \"Find the Maximum Number of Fruits Collected\", d: \"Hard\", s: \"find-the-maximum-number-of-fruits-collected\" },\n { n: 3364, t: \"Minimum Positive Sum Subarray\", d: \"Easy\", s: \"minimum-positive-sum-subarray\" },\n { n: 3365, t: \"Rearrange K Substrings to Form Target String\", d: \"Medium\", s: \"rearrange-k-substrings-to-form-target-string\" },\n { n: 3366, t: \"Minimum Array Sum\", d: \"Medium\", s: \"minimum-array-sum\" },\n { n: 3367, t: \"Maximize Sum of Weights after Edge Removals\", d: \"Hard\", s: \"maximize-sum-of-weights-after-edge-removals\" },\n { n: 3368, t: \"First Letter Capitalization\", d: \"Hard\", s: \"first-letter-capitalization\" },\n { n: 3369, t: \"Design an Array Statistics Tracker\", d: \"Hard\", s: \"design-an-array-statistics-tracker\" },\n { n: 3370, t: \"Smallest Number With All Set Bits\", d: \"Easy\", s: \"smallest-number-with-all-set-bits\" },\n { n: 3371, t: \"Identify the Largest Outlier in an Array\", d: \"Medium\", s: \"identify-the-largest-outlier-in-an-array\" },\n { n: 3372, t: \"Maximize the Number of Target Nodes After Connecting Trees I\", d: \"Medium\", s: \"maximize-the-number-of-target-nodes-after-connecting-trees-i\" },\n { n: 3373, t: \"Maximize the Number of Target Nodes After Connecting Trees II\", d: \"Hard\", s: \"maximize-the-number-of-target-nodes-after-connecting-trees-ii\" },\n { n: 3374, t: \"First Letter Capitalization II\", d: \"Hard\", s: \"first-letter-capitalization-ii\" },\n { n: 3375, t: \"Minimum Operations to Make Array Values Equal to K\", d: \"Easy\", s: \"minimum-operations-to-make-array-values-equal-to-k\" },\n { n: 3376, t: \"Minimum Time to Break Locks I\", d: \"Medium\", s: \"minimum-time-to-break-locks-i\" },\n { n: 3377, t: \"Digit Operations to Make Two Integers Equal\", d: \"Medium\", s: \"digit-operations-to-make-two-integers-equal\" },\n { n: 3378, t: \"Count Connected Components in LCM Graph\", d: \"Hard\", s: \"count-connected-components-in-lcm-graph\" },\n { n: 3379, t: \"Transformed Array\", d: \"Easy\", s: \"transformed-array\" },\n { n: 3380, t: \"Maximum Area Rectangle With Point Constraints I\", d: \"Medium\", s: \"maximum-area-rectangle-with-point-constraints-i\" },\n { n: 3381, t: \"Maximum Subarray Sum With Length Divisible by K\", d: \"Medium\", s: \"maximum-subarray-sum-with-length-divisible-by-k\" },\n { n: 3382, t: \"Maximum Area Rectangle With Point Constraints II\", d: \"Hard\", s: \"maximum-area-rectangle-with-point-constraints-ii\" },\n { n: 3383, t: \"Minimum Runes to Add to Cast Spell\", d: \"Hard\", s: \"minimum-runes-to-add-to-cast-spell\" },\n { n: 3384, t: \"Team Dominance by Pass Success\", d: \"Hard\", s: \"team-dominance-by-pass-success\" },\n { n: 3385, t: \"Minimum Time to Break Locks II\", d: \"Hard\", s: \"minimum-time-to-break-locks-ii\" },\n { n: 3386, t: \"Button with Longest Push Time\", d: \"Easy\", s: \"button-with-longest-push-time\" },\n { n: 3387, t: \"Maximize Amount After Two Days of Conversions\", d: \"Medium\", s: \"maximize-amount-after-two-days-of-conversions\" },\n { n: 3388, t: \"Count Beautiful Splits in an Array\", d: \"Medium\", s: \"count-beautiful-splits-in-an-array\" },\n { n: 3389, t: \"Minimum Operations to Make Character Frequencies Equal\", d: \"Hard\", s: \"minimum-operations-to-make-character-frequencies-equal\" },\n { n: 3390, t: \"Longest Team Pass Streak\", d: \"Hard\", s: \"longest-team-pass-streak\" },\n { n: 3391, t: \"Design a 3D Binary Matrix with Efficient Layer Tracking\", d: \"Medium\", s: \"design-a-3d-binary-matrix-with-efficient-layer-tracking\" },\n { n: 3392, t: \"Count Subarrays of Length Three With a Condition\", d: \"Easy\", s: \"count-subarrays-of-length-three-with-a-condition\" },\n { n: 3393, t: \"Count Paths With the Given XOR Value\", d: \"Medium\", s: \"count-paths-with-the-given-xor-value\" },\n { n: 3394, t: \"Check if Grid can be Cut into Sections\", d: \"Medium\", s: \"check-if-grid-can-be-cut-into-sections\" },\n { n: 3395, t: \"Subsequences with a Unique Middle Mode I\", d: \"Hard\", s: \"subsequences-with-a-unique-middle-mode-i\" },\n { n: 3396, t: \"Minimum Number of Operations to Make Elements in Array Distinct\", d: \"Easy\", s: \"minimum-number-of-operations-to-make-elements-in-array-distinct\" },\n { n: 3397, t: \"Maximum Number of Distinct Elements After Operations\", d: \"Medium\", s: \"maximum-number-of-distinct-elements-after-operations\" },\n { n: 3398, t: \"Smallest Substring With Identical Characters I\", d: \"Hard\", s: \"smallest-substring-with-identical-characters-i\" },\n { n: 3399, t: \"Smallest Substring With Identical Characters II\", d: \"Hard\", s: \"smallest-substring-with-identical-characters-ii\" },\n { n: 3400, t: \"Maximum Number of Matching Indices After Right Shifts\", d: \"Medium\", s: \"maximum-number-of-matching-indices-after-right-shifts\" },\n { n: 3401, t: \"Find Circular Gift Exchange Chains\", d: \"Hard\", s: \"find-circular-gift-exchange-chains\" },\n { n: 3402, t: \"Minimum Operations to Make Columns Strictly Increasing\", d: \"Easy\", s: \"minimum-operations-to-make-columns-strictly-increasing\" },\n { n: 3403, t: \"Find the Lexicographically Largest String From the Box I\", d: \"Medium\", s: \"find-the-lexicographically-largest-string-from-the-box-i\" },\n { n: 3404, t: \"Count Special Subsequences\", d: \"Medium\", s: \"count-special-subsequences\" },\n { n: 3405, t: \"Count the Number of Arrays with K Matching Adjacent Elements\", d: \"Hard\", s: \"count-the-number-of-arrays-with-k-matching-adjacent-elements\" },\n { n: 3406, t: \"Find the Lexicographically Largest String From the Box II\", d: \"Hard\", s: \"find-the-lexicographically-largest-string-from-the-box-ii\" },\n { n: 3407, t: \"Substring Matching Pattern\", d: \"Easy\", s: \"substring-matching-pattern\" },\n { n: 3408, t: \"Design Task Manager\", d: \"Medium\", s: \"design-task-manager\" },\n { n: 3409, t: \"Longest Subsequence With Decreasing Adjacent Difference\", d: \"Medium\", s: \"longest-subsequence-with-decreasing-adjacent-difference\" },\n { n: 3410, t: \"Maximize Subarray Sum After Removing All Occurrences of One Element\", d: \"Hard\", s: \"maximize-subarray-sum-after-removing-all-occurrences-of-one-element\" },\n { n: 3411, t: \"Maximum Subarray With Equal Products\", d: \"Easy\", s: \"maximum-subarray-with-equal-products\" },\n { n: 3412, t: \"Find Mirror Score of a String\", d: \"Medium\", s: \"find-mirror-score-of-a-string\" },\n { n: 3413, t: \"Maximum Coins From K Consecutive Bags\", d: \"Medium\", s: \"maximum-coins-from-k-consecutive-bags\" },\n { n: 3414, t: \"Maximum Score of Non-overlapping Intervals\", d: \"Hard\", s: \"maximum-score-of-non-overlapping-intervals\" },\n { n: 3415, t: \"Find Products with Three Consecutive Digits\", d: \"Easy\", s: \"find-products-with-three-consecutive-digits\" },\n { n: 3416, t: \"Subsequences with a Unique Middle Mode II\", d: \"Hard\", s: \"subsequences-with-a-unique-middle-mode-ii\" },\n { n: 3417, t: \"Zigzag Grid Traversal With Skip\", d: \"Easy\", s: \"zigzag-grid-traversal-with-skip\" },\n { n: 3418, t: \"Maximum Amount of Money Robot Can Earn\", d: \"Medium\", s: \"maximum-amount-of-money-robot-can-earn\" },\n { n: 3419, t: \"Minimize the Maximum Edge Weight of Graph\", d: \"Medium\", s: \"minimize-the-maximum-edge-weight-of-graph\" },\n { n: 3420, t: \"Count Non-Decreasing Subarrays After K Operations\", d: \"Hard\", s: \"count-non-decreasing-subarrays-after-k-operations\" },\n { n: 3421, t: \"Find Students Who Improved\", d: \"Medium\", s: \"find-students-who-improved\" },\n { n: 3422, t: \"Minimum Operations to Make Subarray Elements Equal\", d: \"Medium\", s: \"minimum-operations-to-make-subarray-elements-equal\" },\n { n: 3423, t: \"Maximum Difference Between Adjacent Elements in a Circular Array\", d: \"Easy\", s: \"maximum-difference-between-adjacent-elements-in-a-circular-array\" },\n { n: 3424, t: \"Minimum Cost to Make Arrays Identical\", d: \"Medium\", s: \"minimum-cost-to-make-arrays-identical\" },\n { n: 3425, t: \"Longest Special Path\", d: \"Hard\", s: \"longest-special-path\" },\n { n: 3426, t: \"Manhattan Distances of All Arrangements of Pieces\", d: \"Hard\", s: \"manhattan-distances-of-all-arrangements-of-pieces\" },\n { n: 3427, t: \"Sum of Variable Length Subarrays\", d: \"Easy\", s: \"sum-of-variable-length-subarrays\" },\n { n: 3428, t: \"Maximum and Minimum Sums of at Most Size K Subsequences\", d: \"Medium\", s: \"maximum-and-minimum-sums-of-at-most-size-k-subsequences\" },\n { n: 3429, t: \"Paint House IV\", d: \"Medium\", s: \"paint-house-iv\" },\n { n: 3430, t: \"Maximum and Minimum Sums of at Most Size K Subarrays\", d: \"Hard\", s: \"maximum-and-minimum-sums-of-at-most-size-k-subarrays\" },\n { n: 3431, t: \"Minimum Unlocked Indices to Sort Nums\", d: \"Medium\", s: \"minimum-unlocked-indices-to-sort-nums\" },\n { n: 3432, t: \"Count Partitions with Even Sum Difference\", d: \"Easy\", s: \"count-partitions-with-even-sum-difference\" },\n { n: 3433, t: \"Count Mentions Per User\", d: \"Medium\", s: \"count-mentions-per-user\" },\n { n: 3434, t: \"Maximum Frequency After Subarray Operation\", d: \"Medium\", s: \"maximum-frequency-after-subarray-operation\" },\n { n: 3435, t: \"Frequencies of Shortest Supersequences\", d: \"Hard\", s: \"frequencies-of-shortest-supersequences\" },\n { n: 3436, t: \"Find Valid Emails\", d: \"Easy\", s: \"find-valid-emails\" },\n { n: 3437, t: \"Permutations III\", d: \"Medium\", s: \"permutations-iii\" },\n { n: 3438, t: \"Find Valid Pair of Adjacent Digits in String\", d: \"Easy\", s: \"find-valid-pair-of-adjacent-digits-in-string\" },\n { n: 3439, t: \"Reschedule Meetings for Maximum Free Time I\", d: \"Medium\", s: \"reschedule-meetings-for-maximum-free-time-i\" },\n { n: 3440, t: \"Reschedule Meetings for Maximum Free Time II\", d: \"Medium\", s: \"reschedule-meetings-for-maximum-free-time-ii\" },\n { n: 3441, t: \"Minimum Cost Good Caption\", d: \"Hard\", s: \"minimum-cost-good-caption\" },\n { n: 3442, t: \"Maximum Difference Between Even and Odd Frequency I\", d: \"Easy\", s: \"maximum-difference-between-even-and-odd-frequency-i\" },\n { n: 3443, t: \"Maximum Manhattan Distance After K Changes\", d: \"Medium\", s: \"maximum-manhattan-distance-after-k-changes\" },\n { n: 3444, t: \"Minimum Increments for Target Multiples in an Array\", d: \"Hard\", s: \"minimum-increments-for-target-multiples-in-an-array\" },\n { n: 3445, t: \"Maximum Difference Between Even and Odd Frequency II\", d: \"Hard\", s: \"maximum-difference-between-even-and-odd-frequency-ii\" },\n { n: 3446, t: \"Sort Matrix by Diagonals\", d: \"Medium\", s: \"sort-matrix-by-diagonals\" },\n { n: 3447, t: \"Assign Elements to Groups with Constraints\", d: \"Medium\", s: \"assign-elements-to-groups-with-constraints\" },\n { n: 3448, t: \"Count Substrings Divisible By Last Digit\", d: \"Hard\", s: \"count-substrings-divisible-by-last-digit\" },\n { n: 3449, t: \"Maximize the Minimum Game Score\", d: \"Hard\", s: \"maximize-the-minimum-game-score\" },\n { n: 3450, t: \"Maximum Students on a Single Bench\", d: \"Easy\", s: \"maximum-students-on-a-single-bench\" },\n { n: 3451, t: \"Find Invalid IP Addresses\", d: \"Hard\", s: \"find-invalid-ip-addresses\" },\n { n: 3452, t: \"Sum of Good Numbers\", d: \"Easy\", s: \"sum-of-good-numbers\" },\n { n: 3453, t: \"Separate Squares I\", d: \"Medium\", s: \"separate-squares-i\" },\n { n: 3454, t: \"Separate Squares II\", d: \"Hard\", s: \"separate-squares-ii\" },\n { n: 3455, t: \"Shortest Matching Substring\", d: \"Hard\", s: \"shortest-matching-substring\" },\n { n: 3456, t: \"Find Special Substring of Length K\", d: \"Easy\", s: \"find-special-substring-of-length-k\" },\n { n: 3457, t: \"Eat Pizzas!\", d: \"Medium\", s: \"eat-pizzas\" },\n { n: 3458, t: \"Select K Disjoint Special Substrings\", d: \"Medium\", s: \"select-k-disjoint-special-substrings\" },\n { n: 3459, t: \"Length of Longest V-Shaped Diagonal Segment\", d: \"Hard\", s: \"length-of-longest-v-shaped-diagonal-segment\" },\n { n: 3460, t: \"Longest Common Prefix After at Most One Removal\", d: \"Medium\", s: \"longest-common-prefix-after-at-most-one-removal\" },\n { n: 3461, t: \"Check If Digits Are Equal in String After Operations I\", d: \"Easy\", s: \"check-if-digits-are-equal-in-string-after-operations-i\" },\n { n: 3462, t: \"Maximum Sum With at Most K Elements\", d: \"Medium\", s: \"maximum-sum-with-at-most-k-elements\" },\n { n: 3463, t: \"Check If Digits Are Equal in String After Operations II\", d: \"Hard\", s: \"check-if-digits-are-equal-in-string-after-operations-ii\" },\n { n: 3464, t: \"Maximize the Distance Between Points on a Square\", d: \"Hard\", s: \"maximize-the-distance-between-points-on-a-square\" },\n { n: 3465, t: \"Find Products with Valid Serial Numbers\", d: \"Easy\", s: \"find-products-with-valid-serial-numbers\" },\n { n: 3466, t: \"Maximum Coin Collection\", d: \"Medium\", s: \"maximum-coin-collection\" },\n { n: 3467, t: \"Transform Array by Parity\", d: \"Easy\", s: \"transform-array-by-parity\" },\n { n: 3468, t: \"Find the Number of Copy Arrays\", d: \"Medium\", s: \"find-the-number-of-copy-arrays\" },\n { n: 3469, t: \"Find Minimum Cost to Remove Array Elements\", d: \"Medium\", s: \"find-minimum-cost-to-remove-array-elements\" },\n { n: 3470, t: \"Permutations IV\", d: \"Hard\", s: \"permutations-iv\" },\n { n: 3471, t: \"Find the Largest Almost Missing Integer\", d: \"Easy\", s: \"find-the-largest-almost-missing-integer\" },\n { n: 3472, t: \"Longest Palindromic Subsequence After at Most K Operations\", d: \"Medium\", s: \"longest-palindromic-subsequence-after-at-most-k-operations\" },\n { n: 3473, t: \"Sum of K Subarrays With Length at Least M\", d: \"Medium\", s: \"sum-of-k-subarrays-with-length-at-least-m\" },\n { n: 3474, t: \"Lexicographically Smallest Generated String\", d: \"Hard\", s: \"lexicographically-smallest-generated-string\" },\n { n: 3475, t: \"DNA Pattern Recognition\", d: \"Medium\", s: \"dna-pattern-recognition\" },\n { n: 3476, t: \"Maximize Profit from Task Assignment\", d: \"Medium\", s: \"maximize-profit-from-task-assignment\" },\n { n: 3477, t: \"Fruits Into Baskets II\", d: \"Easy\", s: \"fruits-into-baskets-ii\" },\n { n: 3478, t: \"Choose K Elements With Maximum Sum\", d: \"Medium\", s: \"choose-k-elements-with-maximum-sum\" },\n { n: 3479, t: \"Fruits Into Baskets III\", d: \"Medium\", s: \"fruits-into-baskets-iii\" },\n { n: 3480, t: \"Maximize Subarrays After Removing One Conflicting Pair\", d: \"Hard\", s: \"maximize-subarrays-after-removing-one-conflicting-pair\" },\n { n: 3481, t: \"Apply Substitutions\", d: \"Medium\", s: \"apply-substitutions\" },\n { n: 3482, t: \"Analyze Organization Hierarchy\", d: \"Hard\", s: \"analyze-organization-hierarchy\" },\n { n: 3483, t: \"Unique 3-Digit Even Numbers\", d: \"Easy\", s: \"unique-3-digit-even-numbers\" },\n { n: 3484, t: \"Design Spreadsheet\", d: \"Medium\", s: \"design-spreadsheet\" },\n { n: 3485, t: \"Longest Common Prefix of K Strings After Removal\", d: \"Hard\", s: \"longest-common-prefix-of-k-strings-after-removal\" },\n { n: 3486, t: \"Longest Special Path II\", d: \"Hard\", s: \"longest-special-path-ii\" },\n { n: 3487, t: \"Maximum Unique Subarray Sum After Deletion\", d: \"Easy\", s: \"maximum-unique-subarray-sum-after-deletion\" },\n { n: 3488, t: \"Closest Equal Element Queries\", d: \"Medium\", s: \"closest-equal-element-queries\" },\n { n: 3489, t: \"Zero Array Transformation IV\", d: \"Medium\", s: \"zero-array-transformation-iv\" },\n { n: 3490, t: \"Count Beautiful Numbers\", d: \"Hard\", s: \"count-beautiful-numbers\" },\n { n: 3491, t: \"Phone Number Prefix\", d: \"Easy\", s: \"phone-number-prefix\" },\n { n: 3492, t: \"Maximum Containers on a Ship\", d: \"Easy\", s: \"maximum-containers-on-a-ship\" },\n { n: 3493, t: \"Properties Graph\", d: \"Medium\", s: \"properties-graph\" },\n { n: 3494, t: \"Find the Minimum Amount of Time to Brew Potions\", d: \"Medium\", s: \"find-the-minimum-amount-of-time-to-brew-potions\" },\n { n: 3495, t: \"Minimum Operations to Make Array Elements Zero\", d: \"Hard\", s: \"minimum-operations-to-make-array-elements-zero\" },\n { n: 3496, t: \"Maximize Score After Pair Deletions\", d: \"Medium\", s: \"maximize-score-after-pair-deletions\" },\n { n: 3497, t: \"Analyze Subscription Conversion\", d: \"Medium\", s: \"analyze-subscription-conversion\" },\n { n: 3498, t: \"Reverse Degree of a String\", d: \"Easy\", s: \"reverse-degree-of-a-string\" },\n { n: 3499, t: \"Maximize Active Section with Trade I\", d: \"Medium\", s: \"maximize-active-section-with-trade-i\" },\n { n: 3500, t: \"Minimum Cost to Divide Array Into Subarrays\", d: \"Hard\", s: \"minimum-cost-to-divide-array-into-subarrays\" },\n { n: 3501, t: \"Maximize Active Section with Trade II\", d: \"Hard\", s: \"maximize-active-section-with-trade-ii\" },\n { n: 3502, t: \"Minimum Cost to Reach Every Position\", d: \"Easy\", s: \"minimum-cost-to-reach-every-position\" },\n { n: 3503, t: \"Longest Palindrome After Substring Concatenation I\", d: \"Medium\", s: \"longest-palindrome-after-substring-concatenation-i\" },\n { n: 3504, t: \"Longest Palindrome After Substring Concatenation II\", d: \"Hard\", s: \"longest-palindrome-after-substring-concatenation-ii\" },\n { n: 3505, t: \"Minimum Operations to Make Elements Within K Subarrays Equal\", d: \"Hard\", s: \"minimum-operations-to-make-elements-within-k-subarrays-equal\" },\n { n: 3506, t: \"Find Time Required to Eliminate Bacterial Strains\", d: \"Hard\", s: \"find-time-required-to-eliminate-bacterial-strains\" },\n { n: 3507, t: \"Minimum Pair Removal to Sort Array I\", d: \"Easy\", s: \"minimum-pair-removal-to-sort-array-i\" },\n { n: 3508, t: \"Implement Router\", d: \"Medium\", s: \"implement-router\" },\n { n: 3509, t: \"Maximum Product of Subsequences With an Alternating Sum Equal to K\", d: \"Hard\", s: \"maximum-product-of-subsequences-with-an-alternating-sum-equal-to-k\" },\n { n: 3510, t: \"Minimum Pair Removal to Sort Array II\", d: \"Hard\", s: \"minimum-pair-removal-to-sort-array-ii\" },\n { n: 3511, t: \"Make a Positive Array\", d: \"Medium\", s: \"make-a-positive-array\" },\n { n: 3512, t: \"Minimum Operations to Make Array Sum Divisible by K\", d: \"Easy\", s: \"minimum-operations-to-make-array-sum-divisible-by-k\" },\n { n: 3513, t: \"Number of Unique XOR Triplets I\", d: \"Medium\", s: \"number-of-unique-xor-triplets-i\" },\n { n: 3514, t: \"Number of Unique XOR Triplets II\", d: \"Medium\", s: \"number-of-unique-xor-triplets-ii\" },\n { n: 3515, t: \"Shortest Path in a Weighted Tree\", d: \"Hard\", s: \"shortest-path-in-a-weighted-tree\" },\n { n: 3516, t: \"Find Closest Person\", d: \"Easy\", s: \"find-closest-person\" },\n { n: 3517, t: \"Smallest Palindromic Rearrangement I\", d: \"Medium\", s: \"smallest-palindromic-rearrangement-i\" },\n { n: 3518, t: \"Smallest Palindromic Rearrangement II\", d: \"Hard\", s: \"smallest-palindromic-rearrangement-ii\" },\n { n: 3519, t: \"Count Numbers with Non-Decreasing Digits\", d: \"Hard\", s: \"count-numbers-with-non-decreasing-digits\" },\n { n: 3520, t: \"Minimum Threshold for Inversion Pairs Count\", d: \"Medium\", s: \"minimum-threshold-for-inversion-pairs-count\" },\n { n: 3521, t: \"Find Product Recommendation Pairs\", d: \"Medium\", s: \"find-product-recommendation-pairs\" },\n { n: 3522, t: \"Calculate Score After Performing Instructions\", d: \"Medium\", s: \"calculate-score-after-performing-instructions\" },\n { n: 3523, t: \"Make Array Non-decreasing\", d: \"Medium\", s: \"make-array-non-decreasing\" },\n { n: 3524, t: \"Find X Value of Array I\", d: \"Medium\", s: \"find-x-value-of-array-i\" },\n { n: 3525, t: \"Find X Value of Array II\", d: \"Hard\", s: \"find-x-value-of-array-ii\" },\n { n: 3526, t: \"Range XOR Queries with Subarray Reversals\", d: \"Hard\", s: \"range-xor-queries-with-subarray-reversals\" },\n { n: 3527, t: \"Find the Most Common Response\", d: \"Medium\", s: \"find-the-most-common-response\" },\n { n: 3528, t: \"Unit Conversion I\", d: \"Medium\", s: \"unit-conversion-i\" },\n { n: 3529, t: \"Count Cells in Overlapping Horizontal and Vertical Substrings\", d: \"Medium\", s: \"count-cells-in-overlapping-horizontal-and-vertical-substrings\" },\n { n: 3530, t: \"Maximum Profit from Valid Topological Order in DAG\", d: \"Hard\", s: \"maximum-profit-from-valid-topological-order-in-dag\" },\n { n: 3531, t: \"Count Covered Buildings\", d: \"Medium\", s: \"count-covered-buildings\" },\n { n: 3532, t: \"Path Existence Queries in a Graph I\", d: \"Medium\", s: \"path-existence-queries-in-a-graph-i\" },\n { n: 3533, t: \"Concatenated Divisibility\", d: \"Hard\", s: \"concatenated-divisibility\" },\n { n: 3534, t: \"Path Existence Queries in a Graph II\", d: \"Hard\", s: \"path-existence-queries-in-a-graph-ii\" },\n { n: 3535, t: \"Unit Conversion II\", d: \"Medium\", s: \"unit-conversion-ii\" },\n { n: 3536, t: \"Maximum Product of Two Digits\", d: \"Easy\", s: \"maximum-product-of-two-digits\" },\n { n: 3537, t: \"Fill a Special Grid\", d: \"Medium\", s: \"fill-a-special-grid\" },\n { n: 3538, t: \"Merge Operations for Minimum Travel Time\", d: \"Hard\", s: \"merge-operations-for-minimum-travel-time\" },\n { n: 3539, t: \"Find Sum of Array Product of Magical Sequences\", d: \"Hard\", s: \"find-sum-of-array-product-of-magical-sequences\" },\n { n: 3540, t: \"Minimum Time to Visit All Houses\", d: \"Medium\", s: \"minimum-time-to-visit-all-houses\" },\n { n: 3541, t: \"Find Most Frequent Vowel and Consonant\", d: \"Easy\", s: \"find-most-frequent-vowel-and-consonant\" },\n { n: 3542, t: \"Minimum Operations to Convert All Elements to Zero\", d: \"Medium\", s: \"minimum-operations-to-convert-all-elements-to-zero\" },\n { n: 3543, t: \"Maximum Weighted K-Edge Path\", d: \"Medium\", s: \"maximum-weighted-k-edge-path\" },\n { n: 3544, t: \"Subtree Inversion Sum\", d: \"Hard\", s: \"subtree-inversion-sum\" },\n { n: 3545, t: \"Minimum Deletions for At Most K Distinct Characters\", d: \"Easy\", s: \"minimum-deletions-for-at-most-k-distinct-characters\" },\n { n: 3546, t: \"Equal Sum Grid Partition I\", d: \"Medium\", s: \"equal-sum-grid-partition-i\" },\n { n: 3547, t: \"Maximum Sum of Edge Values in a Graph\", d: \"Hard\", s: \"maximum-sum-of-edge-values-in-a-graph\" },\n { n: 3548, t: \"Equal Sum Grid Partition II\", d: \"Hard\", s: \"equal-sum-grid-partition-ii\" },\n { n: 3549, t: \"Multiply Two Polynomials\", d: \"Hard\", s: \"multiply-two-polynomials\" },\n { n: 3550, t: \"Smallest Index With Digit Sum Equal to Index\", d: \"Easy\", s: \"smallest-index-with-digit-sum-equal-to-index\" },\n { n: 3551, t: \"Minimum Swaps to Sort by Digit Sum\", d: \"Medium\", s: \"minimum-swaps-to-sort-by-digit-sum\" },\n { n: 3552, t: \"Grid Teleportation Traversal\", d: \"Medium\", s: \"grid-teleportation-traversal\" },\n { n: 3553, t: \"Minimum Weighted Subgraph With the Required Paths II\", d: \"Hard\", s: \"minimum-weighted-subgraph-with-the-required-paths-ii\" },\n { n: 3554, t: \"Find Category Recommendation Pairs\", d: \"Hard\", s: \"find-category-recommendation-pairs\" },\n { n: 3555, t: \"Smallest Subarray to Sort in Every Sliding Window\", d: \"Medium\", s: \"smallest-subarray-to-sort-in-every-sliding-window\" },\n { n: 3556, t: \"Sum of Largest Prime Substrings\", d: \"Medium\", s: \"sum-of-largest-prime-substrings\" },\n { n: 3557, t: \"Find Maximum Number of Non Intersecting Substrings\", d: \"Medium\", s: \"find-maximum-number-of-non-intersecting-substrings\" },\n { n: 3558, t: \"Number of Ways to Assign Edge Weights I\", d: \"Medium\", s: \"number-of-ways-to-assign-edge-weights-i\" },\n { n: 3559, t: \"Number of Ways to Assign Edge Weights II\", d: \"Hard\", s: \"number-of-ways-to-assign-edge-weights-ii\" },\n { n: 3560, t: \"Find Minimum Log Transportation Cost\", d: \"Easy\", s: \"find-minimum-log-transportation-cost\" },\n { n: 3561, t: \"Resulting String After Adjacent Removals\", d: \"Medium\", s: \"resulting-string-after-adjacent-removals\" },\n { n: 3562, t: \"Maximum Profit from Trading Stocks with Discounts\", d: \"Hard\", s: \"maximum-profit-from-trading-stocks-with-discounts\" },\n { n: 3563, t: \"Lexicographically Smallest String After Adjacent Removals\", d: \"Hard\", s: \"lexicographically-smallest-string-after-adjacent-removals\" },\n { n: 3564, t: \"Seasonal Sales Analysis\", d: \"Medium\", s: \"seasonal-sales-analysis\" },\n { n: 3565, t: \"Sequential Grid Path Cover\", d: \"Medium\", s: \"sequential-grid-path-cover\" },\n { n: 3566, t: \"Partition Array into Two Equal Product Subsets\", d: \"Medium\", s: \"partition-array-into-two-equal-product-subsets\" },\n { n: 3567, t: \"Minimum Absolute Difference in Sliding Submatrix\", d: \"Medium\", s: \"minimum-absolute-difference-in-sliding-submatrix\" },\n { n: 3568, t: \"Minimum Moves to Clean the Classroom\", d: \"Medium\", s: \"minimum-moves-to-clean-the-classroom\" },\n { n: 3569, t: \"Maximize Count of Distinct Primes After Split\", d: \"Hard\", s: \"maximize-count-of-distinct-primes-after-split\" },\n { n: 3570, t: \"Find Books with No Available Copies\", d: \"Easy\", s: \"find-books-with-no-available-copies\" },\n { n: 3571, t: \"Find the Shortest Superstring II\", d: \"Easy\", s: \"find-the-shortest-superstring-ii\" },\n { n: 3572, t: \"Maximize Y‑Sum by Picking a Triplet of Distinct X‑Values\", d: \"Medium\", s: \"maximize-ysum-by-picking-a-triplet-of-distinct-xvalues\" },\n { n: 3573, t: \"Best Time to Buy and Sell Stock V\", d: \"Medium\", s: \"best-time-to-buy-and-sell-stock-v\" },\n { n: 3574, t: \"Maximize Subarray GCD Score\", d: \"Hard\", s: \"maximize-subarray-gcd-score\" },\n { n: 3575, t: \"Maximum Good Subtree Score\", d: \"Hard\", s: \"maximum-good-subtree-score\" },\n { n: 3576, t: \"Transform Array to All Equal Elements\", d: \"Medium\", s: \"transform-array-to-all-equal-elements\" },\n { n: 3577, t: \"Count the Number of Computer Unlocking Permutations\", d: \"Medium\", s: \"count-the-number-of-computer-unlocking-permutations\" },\n { n: 3578, t: \"Count Partitions With Max-Min Difference at Most K\", d: \"Medium\", s: \"count-partitions-with-max-min-difference-at-most-k\" },\n { n: 3579, t: \"Minimum Steps to Convert String with Operations\", d: \"Hard\", s: \"minimum-steps-to-convert-string-with-operations\" },\n { n: 3580, t: \"Find Consistently Improving Employees\", d: \"Medium\", s: \"find-consistently-improving-employees\" },\n { n: 3581, t: \"Count Odd Letters from Number\", d: \"Easy\", s: \"count-odd-letters-from-number\" },\n { n: 3582, t: \"Generate Tag for Video Caption\", d: \"Easy\", s: \"generate-tag-for-video-caption\" },\n { n: 3583, t: \"Count Special Triplets\", d: \"Medium\", s: \"count-special-triplets\" },\n { n: 3584, t: \"Maximum Product of First and Last Elements of a Subsequence\", d: \"Medium\", s: \"maximum-product-of-first-and-last-elements-of-a-subsequence\" },\n { n: 3585, t: \"Find Weighted Median Node in Tree\", d: \"Hard\", s: \"find-weighted-median-node-in-tree\" },\n { n: 3586, t: \"Find COVID Recovery Patients\", d: \"Medium\", s: \"find-covid-recovery-patients\" },\n { n: 3587, t: \"Minimum Adjacent Swaps to Alternate Parity\", d: \"Medium\", s: \"minimum-adjacent-swaps-to-alternate-parity\" },\n { n: 3588, t: \"Find Maximum Area of a Triangle\", d: \"Medium\", s: \"find-maximum-area-of-a-triangle\" },\n { n: 3589, t: \"Count Prime-Gap Balanced Subarrays\", d: \"Medium\", s: \"count-prime-gap-balanced-subarrays\" },\n { n: 3590, t: \"Kth Smallest Path XOR Sum\", d: \"Hard\", s: \"kth-smallest-path-xor-sum\" },\n { n: 3591, t: \"Check if Any Element Has Prime Frequency\", d: \"Easy\", s: \"check-if-any-element-has-prime-frequency\" },\n { n: 3592, t: \"Inverse Coin Change\", d: \"Medium\", s: \"inverse-coin-change\" },\n { n: 3593, t: \"Minimum Increments to Equalize Leaf Paths\", d: \"Medium\", s: \"minimum-increments-to-equalize-leaf-paths\" },\n { n: 3594, t: \"Minimum Time to Transport All Individuals\", d: \"Hard\", s: \"minimum-time-to-transport-all-individuals\" },\n { n: 3595, t: \"Once Twice\", d: \"Medium\", s: \"once-twice\" },\n { n: 3596, t: \"Minimum Cost Path with Alternating Directions I\", d: \"Medium\", s: \"minimum-cost-path-with-alternating-directions-i\" },\n { n: 3597, t: \"Partition String\", d: \"Medium\", s: \"partition-string\" },\n { n: 3598, t: \"Longest Common Prefix Between Adjacent Strings After Removals\", d: \"Medium\", s: \"longest-common-prefix-between-adjacent-strings-after-removals\" },\n { n: 3599, t: \"Partition Array to Minimize XOR\", d: \"Medium\", s: \"partition-array-to-minimize-xor\" },\n { n: 3600, t: \"Maximize Spanning Tree Stability with Upgrades\", d: \"Hard\", s: \"maximize-spanning-tree-stability-with-upgrades\" },\n { n: 3601, t: \"Find Drivers with Improved Fuel Efficiency\", d: \"Medium\", s: \"find-drivers-with-improved-fuel-efficiency\" },\n { n: 3602, t: \"Hexadecimal and Hexatrigesimal Conversion\", d: \"Easy\", s: \"hexadecimal-and-hexatrigesimal-conversion\" },\n { n: 3603, t: \"Minimum Cost Path with Alternating Directions II\", d: \"Medium\", s: \"minimum-cost-path-with-alternating-directions-ii\" },\n { n: 3604, t: \"Minimum Time to Reach Destination in Directed Graph\", d: \"Medium\", s: \"minimum-time-to-reach-destination-in-directed-graph\" },\n { n: 3605, t: \"Minimum Stability Factor of Array\", d: \"Hard\", s: \"minimum-stability-factor-of-array\" },\n { n: 3606, t: \"Coupon Code Validator\", d: \"Easy\", s: \"coupon-code-validator\" },\n { n: 3607, t: \"Power Grid Maintenance\", d: \"Medium\", s: \"power-grid-maintenance\" },\n { n: 3608, t: \"Minimum Time for K Connected Components\", d: \"Medium\", s: \"minimum-time-for-k-connected-components\" },\n { n: 3609, t: \"Minimum Moves to Reach Target in Grid\", d: \"Hard\", s: \"minimum-moves-to-reach-target-in-grid\" },\n { n: 3610, t: \"Minimum Number of Primes to Sum to Target\", d: \"Medium\", s: \"minimum-number-of-primes-to-sum-to-target\" },\n { n: 3611, t: \"Find Overbooked Employees\", d: \"Medium\", s: \"find-overbooked-employees\" },\n { n: 3612, t: \"Process String with Special Operations I\", d: \"Medium\", s: \"process-string-with-special-operations-i\" },\n { n: 3613, t: \"Minimize Maximum Component Cost\", d: \"Medium\", s: \"minimize-maximum-component-cost\" },\n { n: 3614, t: \"Process String with Special Operations II\", d: \"Hard\", s: \"process-string-with-special-operations-ii\" },\n { n: 3615, t: \"Longest Palindromic Path in Graph\", d: \"Hard\", s: \"longest-palindromic-path-in-graph\" },\n { n: 3616, t: \"Number of Student Replacements\", d: \"Medium\", s: \"number-of-student-replacements\" },\n { n: 3617, t: \"Find Students with Study Spiral Pattern\", d: \"Hard\", s: \"find-students-with-study-spiral-pattern\" },\n { n: 3618, t: \"Split Array by Prime Indices\", d: \"Medium\", s: \"split-array-by-prime-indices\" },\n { n: 3619, t: \"Count Islands With Total Value Divisible by K\", d: \"Medium\", s: \"count-islands-with-total-value-divisible-by-k\" },\n { n: 3620, t: \"Network Recovery Pathways\", d: \"Hard\", s: \"network-recovery-pathways\" },\n { n: 3621, t: \"Number of Integers With Popcount-Depth Equal to K I\", d: \"Hard\", s: \"number-of-integers-with-popcount-depth-equal-to-k-i\" },\n { n: 3622, t: \"Check Divisibility by Digit Sum and Product\", d: \"Easy\", s: \"check-divisibility-by-digit-sum-and-product\" },\n { n: 3623, t: \"Count Number of Trapezoids I\", d: \"Medium\", s: \"count-number-of-trapezoids-i\" },\n { n: 3624, t: \"Number of Integers With Popcount-Depth Equal to K II\", d: \"Hard\", s: \"number-of-integers-with-popcount-depth-equal-to-k-ii\" },\n { n: 3625, t: \"Count Number of Trapezoids II\", d: \"Hard\", s: \"count-number-of-trapezoids-ii\" },\n { n: 3626, t: \"Find Stores with Inventory Imbalance\", d: \"Medium\", s: \"find-stores-with-inventory-imbalance\" },\n { n: 3627, t: \"Maximum Median Sum of Subsequences of Size 3\", d: \"Medium\", s: \"maximum-median-sum-of-subsequences-of-size-3\" },\n { n: 3628, t: \"Maximum Number of Subsequences After One Inserting\", d: \"Medium\", s: \"maximum-number-of-subsequences-after-one-inserting\" },\n { n: 3629, t: \"Minimum Jumps to Reach End via Prime Teleportation\", d: \"Medium\", s: \"minimum-jumps-to-reach-end-via-prime-teleportation\" },\n { n: 3630, t: \"Partition Array for Maximum XOR and AND\", d: \"Hard\", s: \"partition-array-for-maximum-xor-and-and\" },\n { n: 3631, t: \"Sort Threats by Severity and Exploitability\", d: \"Medium\", s: \"sort-threats-by-severity-and-exploitability\" },\n { n: 3632, t: \"Subarrays with XOR at Least K\", d: \"Hard\", s: \"subarrays-with-xor-at-least-k\" },\n { n: 3633, t: \"Earliest Finish Time for Land and Water Rides I\", d: \"Easy\", s: \"earliest-finish-time-for-land-and-water-rides-i\" },\n { n: 3634, t: \"Minimum Removals to Balance Array\", d: \"Medium\", s: \"minimum-removals-to-balance-array\" },\n { n: 3635, t: \"Earliest Finish Time for Land and Water Rides II\", d: \"Medium\", s: \"earliest-finish-time-for-land-and-water-rides-ii\" },\n { n: 3636, t: \"Threshold Majority Queries\", d: \"Hard\", s: \"threshold-majority-queries\" },\n { n: 3637, t: \"Trionic Array I\", d: \"Easy\", s: \"trionic-array-i\" },\n { n: 3638, t: \"Maximum Balanced Shipments\", d: \"Medium\", s: \"maximum-balanced-shipments\" },\n { n: 3639, t: \"Minimum Time to Activate String\", d: \"Medium\", s: \"minimum-time-to-activate-string\" },\n { n: 3640, t: \"Trionic Array II\", d: \"Hard\", s: \"trionic-array-ii\" },\n { n: 3641, t: \"Longest Semi-Repeating Subarray\", d: \"Medium\", s: \"longest-semi-repeating-subarray\" },\n { n: 3642, t: \"Find Books with Polarized Opinions\", d: \"Medium\", s: \"find-books-with-polarized-opinions\" },\n { n: 3643, t: \"Flip Square Submatrix Vertically\", d: \"Easy\", s: \"flip-square-submatrix-vertically\" },\n { n: 3644, t: \"Maximum K to Sort a Permutation\", d: \"Medium\", s: \"maximum-k-to-sort-a-permutation\" },\n { n: 3645, t: \"Maximum Total from Optimal Activation Order\", d: \"Medium\", s: \"maximum-total-from-optimal-activation-order\" },\n { n: 3646, t: \"Next Special Palindrome Number\", d: \"Hard\", s: \"next-special-palindrome-number\" },\n { n: 3647, t: \"Maximum Weight in Two Bags\", d: \"Medium\", s: \"maximum-weight-in-two-bags\" },\n { n: 3648, t: \"Minimum Sensors to Cover Grid\", d: \"Medium\", s: \"minimum-sensors-to-cover-grid\" },\n { n: 3649, t: \"Number of Perfect Pairs\", d: \"Medium\", s: \"number-of-perfect-pairs\" },\n { n: 3650, t: \"Minimum Cost Path with Edge Reversals\", d: \"Medium\", s: \"minimum-cost-path-with-edge-reversals\" },\n { n: 3651, t: \"Minimum Cost Path with Teleportations\", d: \"Hard\", s: \"minimum-cost-path-with-teleportations\" },\n { n: 3652, t: \"Best Time to Buy and Sell Stock using Strategy\", d: \"Medium\", s: \"best-time-to-buy-and-sell-stock-using-strategy\" },\n { n: 3653, t: \"XOR After Range Multiplication Queries I\", d: \"Medium\", s: \"xor-after-range-multiplication-queries-i\" },\n { n: 3654, t: \"Minimum Sum After Divisible Sum Deletions\", d: \"Medium\", s: \"minimum-sum-after-divisible-sum-deletions\" },\n { n: 3655, t: \"XOR After Range Multiplication Queries II\", d: \"Hard\", s: \"xor-after-range-multiplication-queries-ii\" },\n { n: 3656, t: \"Determine if a Simple Graph Exists\", d: \"Medium\", s: \"determine-if-a-simple-graph-exists\" },\n { n: 3657, t: \"Find Loyal Customers\", d: \"Medium\", s: \"find-loyal-customers\" },\n { n: 3658, t: \"GCD of Odd and Even Sums\", d: \"Easy\", s: \"gcd-of-odd-and-even-sums\" },\n { n: 3659, t: \"Partition Array Into K-Distinct Groups\", d: \"Medium\", s: \"partition-array-into-k-distinct-groups\" },\n { n: 3660, t: \"Jump Game IX\", d: \"Medium\", s: \"jump-game-ix\" },\n { n: 3661, t: \"Maximum Walls Destroyed by Robots\", d: \"Hard\", s: \"maximum-walls-destroyed-by-robots\" },\n { n: 3662, t: \"Filter Characters by Frequency\", d: \"Easy\", s: \"filter-characters-by-frequency\" },\n { n: 3663, t: \"Find The Least Frequent Digit\", d: \"Easy\", s: \"find-the-least-frequent-digit\" },\n { n: 3664, t: \"Two-Letter Card Game\", d: \"Medium\", s: \"two-letter-card-game\" },\n { n: 3665, t: \"Twisted Mirror Path Count\", d: \"Medium\", s: \"twisted-mirror-path-count\" },\n { n: 3666, t: \"Minimum Operations to Equalize Binary String\", d: \"Hard\", s: \"minimum-operations-to-equalize-binary-string\" },\n { n: 3667, t: \"Sort Array By Absolute Value\", d: \"Easy\", s: \"sort-array-by-absolute-value\" },\n { n: 3668, t: \"Restore Finishing Order\", d: \"Easy\", s: \"restore-finishing-order\" },\n { n: 3669, t: \"Balanced K-Factor Decomposition\", d: \"Medium\", s: \"balanced-k-factor-decomposition\" },\n { n: 3670, t: \"Maximum Product of Two Integers With No Common Bits\", d: \"Medium\", s: \"maximum-product-of-two-integers-with-no-common-bits\" },\n { n: 3671, t: \"Sum of Beautiful Subsequences\", d: \"Hard\", s: \"sum-of-beautiful-subsequences\" },\n { n: 3672, t: \"Sum of Weighted Modes in Subarrays\", d: \"Medium\", s: \"sum-of-weighted-modes-in-subarrays\" },\n { n: 3673, t: \"Find Zombie Sessions\", d: \"Hard\", s: \"find-zombie-sessions\" },\n { n: 3674, t: \"Minimum Operations to Equalize Array\", d: \"Easy\", s: \"minimum-operations-to-equalize-array\" },\n { n: 3675, t: \"Minimum Operations to Transform String\", d: \"Medium\", s: \"minimum-operations-to-transform-string\" },\n { n: 3676, t: \"Count Bowl Subarrays\", d: \"Medium\", s: \"count-bowl-subarrays\" },\n { n: 3677, t: \"Count Binary Palindromic Numbers\", d: \"Hard\", s: \"count-binary-palindromic-numbers\" },\n { n: 3678, t: \"Smallest Absent Positive Greater Than Average\", d: \"Easy\", s: \"smallest-absent-positive-greater-than-average\" },\n { n: 3679, t: \"Minimum Discards to Balance Inventory\", d: \"Medium\", s: \"minimum-discards-to-balance-inventory\" },\n { n: 3680, t: \"Generate Schedule\", d: \"Medium\", s: \"generate-schedule\" },\n { n: 3681, t: \"Maximum XOR of Subsequences\", d: \"Hard\", s: \"maximum-xor-of-subsequences\" },\n { n: 3682, t: \"Minimum Index Sum of Common Elements\", d: \"Medium\", s: \"minimum-index-sum-of-common-elements\" },\n { n: 3683, t: \"Earliest Time to Finish One Task\", d: \"Easy\", s: \"earliest-time-to-finish-one-task\" },\n { n: 3684, t: \"Maximize Sum of At Most K Distinct Elements\", d: \"Easy\", s: \"maximize-sum-of-at-most-k-distinct-elements\" },\n { n: 3685, t: \"Subsequence Sum After Capping Elements\", d: \"Medium\", s: \"subsequence-sum-after-capping-elements\" },\n { n: 3686, t: \"Number of Stable Subsequences\", d: \"Hard\", s: \"number-of-stable-subsequences\" },\n { n: 3687, t: \"Library Late Fee Calculator\", d: \"Easy\", s: \"library-late-fee-calculator\" },\n { n: 3688, t: \"Bitwise OR of Even Numbers in an Array\", d: \"Easy\", s: \"bitwise-or-of-even-numbers-in-an-array\" },\n { n: 3689, t: \"Maximum Total Subarray Value I\", d: \"Medium\", s: \"maximum-total-subarray-value-i\" },\n { n: 3690, t: \"Split and Merge Array Transformation\", d: \"Medium\", s: \"split-and-merge-array-transformation\" },\n { n: 3691, t: \"Maximum Total Subarray Value II\", d: \"Hard\", s: \"maximum-total-subarray-value-ii\" },\n { n: 3692, t: \"Majority Frequency Characters\", d: \"Easy\", s: \"majority-frequency-characters\" },\n { n: 3693, t: \"Climbing Stairs II\", d: \"Medium\", s: \"climbing-stairs-ii\" },\n { n: 3694, t: \"Distinct Points Reachable After Substring Removal\", d: \"Medium\", s: \"distinct-points-reachable-after-substring-removal\" },\n { n: 3695, t: \"Maximize Alternating Sum Using Swaps\", d: \"Hard\", s: \"maximize-alternating-sum-using-swaps\" },\n { n: 3696, t: \"Maximum Distance Between Unequal Words in Array I\", d: \"Easy\", s: \"maximum-distance-between-unequal-words-in-array-i\" },\n { n: 3697, t: \"Compute Decimal Representation\", d: \"Easy\", s: \"compute-decimal-representation\" },\n { n: 3698, t: \"Split Array With Minimum Difference\", d: \"Medium\", s: \"split-array-with-minimum-difference\" },\n { n: 3699, t: \"Number of ZigZag Arrays I\", d: \"Hard\", s: \"number-of-zigzag-arrays-i\" },\n { n: 3700, t: \"Number of ZigZag Arrays II\", d: \"Hard\", s: \"number-of-zigzag-arrays-ii\" },\n { n: 3701, t: \"Compute Alternating Sum\", d: \"Easy\", s: \"compute-alternating-sum\" },\n { n: 3702, t: \"Longest Subsequence With Non-Zero Bitwise XOR\", d: \"Medium\", s: \"longest-subsequence-with-non-zero-bitwise-xor\" },\n { n: 3703, t: \"Remove K-Balanced Substrings\", d: \"Medium\", s: \"remove-k-balanced-substrings\" },\n { n: 3704, t: \"Count No-Zero Pairs That Sum to N\", d: \"Hard\", s: \"count-no-zero-pairs-that-sum-to-n\" },\n { n: 3705, t: \"Find Golden Hour Customers\", d: \"Medium\", s: \"find-golden-hour-customers\" },\n { n: 3706, t: \"Maximum Distance Between Unequal Words in Array II\", d: \"Medium\", s: \"maximum-distance-between-unequal-words-in-array-ii\" },\n { n: 3707, t: \"Equal Score Substrings\", d: \"Easy\", s: \"equal-score-substrings\" },\n { n: 3708, t: \"Longest Fibonacci Subarray\", d: \"Medium\", s: \"longest-fibonacci-subarray\" },\n { n: 3709, t: \"Design Exam Scores Tracker\", d: \"Medium\", s: \"design-exam-scores-tracker\" },\n { n: 3710, t: \"Maximum Partition Factor\", d: \"Hard\", s: \"maximum-partition-factor\" },\n { n: 3711, t: \"Maximum Transactions Without Negative Balance\", d: \"Medium\", s: \"maximum-transactions-without-negative-balance\" },\n { n: 3712, t: \"Sum of Elements With Frequency Divisible by K\", d: \"Easy\", s: \"sum-of-elements-with-frequency-divisible-by-k\" },\n { n: 3713, t: \"Longest Balanced Substring I\", d: \"Medium\", s: \"longest-balanced-substring-i\" },\n { n: 3714, t: \"Longest Balanced Substring II\", d: \"Medium\", s: \"longest-balanced-substring-ii\" },\n { n: 3715, t: \"Sum of Perfect Square Ancestors\", d: \"Hard\", s: \"sum-of-perfect-square-ancestors\" },\n { n: 3716, t: \"Find Churn Risk Customers\", d: \"Medium\", s: \"find-churn-risk-customers\" },\n { n: 3717, t: \"Minimum Operations to Make the Array Beautiful\", d: \"Medium\", s: \"minimum-operations-to-make-the-array-beautiful\" },\n { n: 3718, t: \"Smallest Missing Multiple of K\", d: \"Easy\", s: \"smallest-missing-multiple-of-k\" },\n { n: 3719, t: \"Longest Balanced Subarray I\", d: \"Medium\", s: \"longest-balanced-subarray-i\" },\n { n: 3720, t: \"Lexicographically Smallest Permutation Greater Than Target\", d: \"Medium\", s: \"lexicographically-smallest-permutation-greater-than-target\" },\n { n: 3721, t: \"Longest Balanced Subarray II\", d: \"Hard\", s: \"longest-balanced-subarray-ii\" },\n { n: 3722, t: \"Lexicographically Smallest String After Reverse\", d: \"Medium\", s: \"lexicographically-smallest-string-after-reverse\" },\n { n: 3723, t: \"Maximize Sum of Squares of Digits\", d: \"Medium\", s: \"maximize-sum-of-squares-of-digits\" },\n { n: 3724, t: \"Minimum Operations to Transform Array\", d: \"Medium\", s: \"minimum-operations-to-transform-array\" },\n { n: 3725, t: \"Count Ways to Choose Coprime Integers from Rows\", d: \"Hard\", s: \"count-ways-to-choose-coprime-integers-from-rows\" },\n { n: 3726, t: \"Remove Zeros in Decimal Representation\", d: \"Easy\", s: \"remove-zeros-in-decimal-representation\" },\n { n: 3727, t: \"Maximum Alternating Sum of Squares\", d: \"Medium\", s: \"maximum-alternating-sum-of-squares\" },\n { n: 3728, t: \"Stable Subarrays With Equal Boundary and Interior Sum\", d: \"Medium\", s: \"stable-subarrays-with-equal-boundary-and-interior-sum\" },\n { n: 3729, t: \"Count Distinct Subarrays Divisible by K in Sorted Array\", d: \"Hard\", s: \"count-distinct-subarrays-divisible-by-k-in-sorted-array\" },\n { n: 3730, t: \"Maximum Calories Burnt from Jumps\", d: \"Medium\", s: \"maximum-calories-burnt-from-jumps\" },\n { n: 3731, t: \"Find Missing Elements\", d: \"Easy\", s: \"find-missing-elements\" },\n { n: 3732, t: \"Maximum Product of Three Elements After One Replacement\", d: \"Medium\", s: \"maximum-product-of-three-elements-after-one-replacement\" },\n { n: 3733, t: \"Minimum Time to Complete All Deliveries\", d: \"Medium\", s: \"minimum-time-to-complete-all-deliveries\" },\n { n: 3734, t: \"Lexicographically Smallest Palindromic Permutation Greater Than Target\", d: \"Hard\", s: \"lexicographically-smallest-palindromic-permutation-greater-than-target\" },\n { n: 3735, t: \"Lexicographically Smallest String After Reverse II\", d: \"Hard\", s: \"lexicographically-smallest-string-after-reverse-ii\" },\n { n: 3736, t: \"Minimum Moves to Equal Array Elements III\", d: \"Easy\", s: \"minimum-moves-to-equal-array-elements-iii\" },\n { n: 3737, t: \"Count Subarrays With Majority Element I\", d: \"Medium\", s: \"count-subarrays-with-majority-element-i\" },\n { n: 3738, t: \"Longest Non-Decreasing Subarray After Replacing at Most One Element\", d: \"Medium\", s: \"longest-non-decreasing-subarray-after-replacing-at-most-one-element\" },\n { n: 3739, t: \"Count Subarrays With Majority Element II\", d: \"Hard\", s: \"count-subarrays-with-majority-element-ii\" },\n { n: 3740, t: \"Minimum Distance Between Three Equal Elements I\", d: \"Easy\", s: \"minimum-distance-between-three-equal-elements-i\" },\n { n: 3741, t: \"Minimum Distance Between Three Equal Elements II\", d: \"Medium\", s: \"minimum-distance-between-three-equal-elements-ii\" },\n { n: 3742, t: \"Maximum Path Score in a Grid\", d: \"Medium\", s: \"maximum-path-score-in-a-grid\" },\n { n: 3743, t: \"Maximize Cyclic Partition Score\", d: \"Hard\", s: \"maximize-cyclic-partition-score\" },\n { n: 3744, t: \"Find Kth Character in Expanded String\", d: \"Medium\", s: \"find-kth-character-in-expanded-string\" },\n { n: 3745, t: \"Maximize Expression of Three Elements\", d: \"Easy\", s: \"maximize-expression-of-three-elements\" },\n { n: 3746, t: \"Minimum String Length After Balanced Removals\", d: \"Medium\", s: \"minimum-string-length-after-balanced-removals\" },\n { n: 3747, t: \"Count Distinct Integers After Removing Zeros\", d: \"Medium\", s: \"count-distinct-integers-after-removing-zeros\" },\n { n: 3748, t: \"Count Stable Subarrays\", d: \"Hard\", s: \"count-stable-subarrays\" },\n { n: 3749, t: \"Evaluate Valid Expressions\", d: \"Hard\", s: \"evaluate-valid-expressions\" },\n { n: 3750, t: \"Minimum Number of Flips to Reverse Binary String\", d: \"Easy\", s: \"minimum-number-of-flips-to-reverse-binary-string\" },\n { n: 3751, t: \"Total Waviness of Numbers in Range I\", d: \"Medium\", s: \"total-waviness-of-numbers-in-range-i\" },\n { n: 3752, t: \"Lexicographically Smallest Negated Permutation that Sums to Target\", d: \"Medium\", s: \"lexicographically-smallest-negated-permutation-that-sums-to-target\" },\n { n: 3753, t: \"Total Waviness of Numbers in Range II\", d: \"Hard\", s: \"total-waviness-of-numbers-in-range-ii\" },\n { n: 3754, t: \"Concatenate Non-Zero Digits and Multiply by Sum I\", d: \"Easy\", s: \"concatenate-non-zero-digits-and-multiply-by-sum-i\" },\n { n: 3755, t: \"Find Maximum Balanced XOR Subarray Length\", d: \"Medium\", s: \"find-maximum-balanced-xor-subarray-length\" },\n { n: 3756, t: \"Concatenate Non-Zero Digits and Multiply by Sum II\", d: \"Medium\", s: \"concatenate-non-zero-digits-and-multiply-by-sum-ii\" },\n { n: 3757, t: \"Number of Effective Subsequences\", d: \"Hard\", s: \"number-of-effective-subsequences\" },\n { n: 3758, t: \"Convert Number Words to Digits\", d: \"Medium\", s: \"convert-number-words-to-digits\" },\n { n: 3759, t: \"Count Elements With at Least K Greater Values\", d: \"Medium\", s: \"count-elements-with-at-least-k-greater-values\" },\n { n: 3760, t: \"Maximum Substrings With Distinct Start\", d: \"Medium\", s: \"maximum-substrings-with-distinct-start\" },\n { n: 3761, t: \"Minimum Absolute Distance Between Mirror Pairs\", d: \"Medium\", s: \"minimum-absolute-distance-between-mirror-pairs\" },\n { n: 3762, t: \"Minimum Operations to Equalize Subarrays\", d: \"Hard\", s: \"minimum-operations-to-equalize-subarrays\" },\n { n: 3763, t: \"Maximum Total Sum with Threshold Constraints\", d: \"Medium\", s: \"maximum-total-sum-with-threshold-constraints\" },\n { n: 3764, t: \"Most Common Course Pairs\", d: \"Hard\", s: \"most-common-course-pairs\" },\n { n: 3765, t: \"Complete Prime Number\", d: \"Medium\", s: \"complete-prime-number\" },\n { n: 3766, t: \"Minimum Operations to Make Binary Palindrome\", d: \"Medium\", s: \"minimum-operations-to-make-binary-palindrome\" },\n { n: 3767, t: \"Maximize Points After Choosing K Tasks\", d: \"Medium\", s: \"maximize-points-after-choosing-k-tasks\" },\n { n: 3768, t: \"Minimum Inversion Count in Subarrays of Fixed Length\", d: \"Hard\", s: \"minimum-inversion-count-in-subarrays-of-fixed-length\" },\n { n: 3769, t: \"Sort Integers by Binary Reflection\", d: \"Easy\", s: \"sort-integers-by-binary-reflection\" },\n { n: 3770, t: \"Largest Prime from Consecutive Prime Sum\", d: \"Medium\", s: \"largest-prime-from-consecutive-prime-sum\" },\n { n: 3771, t: \"Total Score of Dungeon Runs\", d: \"Medium\", s: \"total-score-of-dungeon-runs\" },\n { n: 3772, t: \"Maximum Subgraph Score in a Tree\", d: \"Hard\", s: \"maximum-subgraph-score-in-a-tree\" },\n { n: 3773, t: \"Maximum Number of Equal Length Runs\", d: \"Medium\", s: \"maximum-number-of-equal-length-runs\" },\n { n: 3774, t: \"Absolute Difference Between Maximum and Minimum K Elements\", d: \"Easy\", s: \"absolute-difference-between-maximum-and-minimum-k-elements\" },\n { n: 3775, t: \"Reverse Words With Same Vowel Count\", d: \"Medium\", s: \"reverse-words-with-same-vowel-count\" },\n { n: 3776, t: \"Minimum Moves to Balance Circular Array\", d: \"Medium\", s: \"minimum-moves-to-balance-circular-array\" },\n { n: 3777, t: \"Minimum Deletions to Make Alternating Substring\", d: \"Hard\", s: \"minimum-deletions-to-make-alternating-substring\" },\n { n: 3778, t: \"Minimum Distance Excluding One Maximum Weighted Edge\", d: \"Medium\", s: \"minimum-distance-excluding-one-maximum-weighted-edge\" },\n { n: 3779, t: \"Minimum Number of Operations to Have Distinct Elements\", d: \"Medium\", s: \"minimum-number-of-operations-to-have-distinct-elements\" },\n { n: 3780, t: \"Maximum Sum of Three Numbers Divisible by Three\", d: \"Medium\", s: \"maximum-sum-of-three-numbers-divisible-by-three\" },\n { n: 3781, t: \"Maximum Score After Binary Swaps\", d: \"Medium\", s: \"maximum-score-after-binary-swaps\" },\n { n: 3782, t: \"Last Remaining Integer After Alternating Deletion Operations\", d: \"Hard\", s: \"last-remaining-integer-after-alternating-deletion-operations\" },\n { n: 3783, t: \"Mirror Distance of an Integer\", d: \"Easy\", s: \"mirror-distance-of-an-integer\" },\n { n: 3784, t: \"Minimum Deletion Cost to Make All Characters Equal\", d: \"Medium\", s: \"minimum-deletion-cost-to-make-all-characters-equal\" },\n { n: 3785, t: \"Minimum Swaps to Avoid Forbidden Values\", d: \"Hard\", s: \"minimum-swaps-to-avoid-forbidden-values\" },\n { n: 3786, t: \"Total Sum of Interaction Cost in Tree Groups\", d: \"Hard\", s: \"total-sum-of-interaction-cost-in-tree-groups\" },\n { n: 3787, t: \"Find Diameter Endpoints of a Tree\", d: \"Medium\", s: \"find-diameter-endpoints-of-a-tree\" },\n { n: 3788, t: \"Maximum Score of a Split\", d: \"Medium\", s: \"maximum-score-of-a-split\" },\n { n: 3789, t: \"Minimum Cost to Acquire Required Items\", d: \"Medium\", s: \"minimum-cost-to-acquire-required-items\" },\n { n: 3790, t: \"Smallest All-Ones Multiple\", d: \"Medium\", s: \"smallest-all-ones-multiple\" },\n { n: 3791, t: \"Number of Balanced Integers in a Range\", d: \"Hard\", s: \"number-of-balanced-integers-in-a-range\" },\n { n: 3792, t: \"Sum of Increasing Product Blocks\", d: \"Medium\", s: \"sum-of-increasing-product-blocks\" },\n { n: 3793, t: \"Find Users with High Token Usage\", d: \"Easy\", s: \"find-users-with-high-token-usage\" },\n { n: 3794, t: \"Reverse String Prefix\", d: \"Easy\", s: \"reverse-string-prefix\" },\n { n: 3795, t: \"Minimum Subarray Length With Distinct Sum At Least K\", d: \"Medium\", s: \"minimum-subarray-length-with-distinct-sum-at-least-k\" },\n { n: 3796, t: \"Find Maximum Value in a Constrained Sequence\", d: \"Medium\", s: \"find-maximum-value-in-a-constrained-sequence\" },\n { n: 3797, t: \"Count Routes to Climb a Rectangular Grid\", d: \"Hard\", s: \"count-routes-to-climb-a-rectangular-grid\" },\n { n: 3798, t: \"Largest Even Number\", d: \"Easy\", s: \"largest-even-number\" },\n { n: 3799, t: \"Word Squares II\", d: \"Medium\", s: \"word-squares-ii\" },\n { n: 3800, t: \"Minimum Cost to Make Two Binary Strings Equal\", d: \"Medium\", s: \"minimum-cost-to-make-two-binary-strings-equal\" },\n { n: 3801, t: \"Minimum Cost to Merge Sorted Lists\", d: \"Hard\", s: \"minimum-cost-to-merge-sorted-lists\" },\n { n: 3802, t: \"Number of Ways to Paint Sheets\", d: \"Hard\", s: \"number-of-ways-to-paint-sheets\" },\n { n: 3803, t: \"Count Residue Prefixes\", d: \"Easy\", s: \"count-residue-prefixes\" },\n { n: 3804, t: \"Number of Centered Subarrays\", d: \"Medium\", s: \"number-of-centered-subarrays\" },\n { n: 3805, t: \"Count Caesar Cipher Pairs\", d: \"Medium\", s: \"count-caesar-cipher-pairs\" },\n { n: 3806, t: \"Maximum Bitwise AND After Increment Operations\", d: \"Hard\", s: \"maximum-bitwise-and-after-increment-operations\" },\n { n: 3807, t: \"Minimum Cost to Repair Edges to Traverse a Graph\", d: \"Medium\", s: \"minimum-cost-to-repair-edges-to-traverse-a-graph\" },\n { n: 3808, t: \"Find Emotionally Consistent Users\", d: \"Medium\", s: \"find-emotionally-consistent-users\" },\n { n: 3809, t: \"Best Reachable Tower\", d: \"Medium\", s: \"best-reachable-tower\" },\n { n: 3810, t: \"Minimum Operations to Reach Target Array\", d: \"Medium\", s: \"minimum-operations-to-reach-target-array\" },\n { n: 3811, t: \"Number of Alternating XOR Partitions\", d: \"Medium\", s: \"number-of-alternating-xor-partitions\" },\n { n: 3812, t: \"Minimum Edge Toggles on a Tree\", d: \"Hard\", s: \"minimum-edge-toggles-on-a-tree\" },\n { n: 3813, t: \"Vowel-Consonant Score\", d: \"Easy\", s: \"vowel-consonant-score\" },\n { n: 3814, t: \"Maximum Capacity Within Budget\", d: \"Medium\", s: \"maximum-capacity-within-budget\" },\n { n: 3815, t: \"Design Auction System\", d: \"Medium\", s: \"design-auction-system\" },\n { n: 3816, t: \"Lexicographically Smallest String After Deleting Duplicate Characters\", d: \"Hard\", s: \"lexicographically-smallest-string-after-deleting-duplicate-characters\" },\n { n: 3817, t: \"Good Indices in a Digit String\", d: \"Medium\", s: \"good-indices-in-a-digit-string\" },\n { n: 3818, t: \"Minimum Prefix Removal to Make Array Strictly Increasing\", d: \"Medium\", s: \"minimum-prefix-removal-to-make-array-strictly-increasing\" },\n { n: 3819, t: \"Rotate Non Negative Elements\", d: \"Medium\", s: \"rotate-non-negative-elements\" },\n { n: 3820, t: \"Pythagorean Distance Nodes in a Tree\", d: \"Medium\", s: \"pythagorean-distance-nodes-in-a-tree\" },\n { n: 3821, t: \"Find Nth Smallest Integer With K One Bits\", d: \"Hard\", s: \"find-nth-smallest-integer-with-k-one-bits\" },\n { n: 3822, t: \"Design Order Management System\", d: \"Medium\", s: \"design-order-management-system\" },\n { n: 3823, t: \"Reverse Letters Then Special Characters in a String\", d: \"Easy\", s: \"reverse-letters-then-special-characters-in-a-string\" },\n { n: 3824, t: \"Minimum K to Reduce Array Within Limit\", d: \"Medium\", s: \"minimum-k-to-reduce-array-within-limit\" },\n { n: 3825, t: \"Longest Strictly Increasing Subsequence With Non-Zero Bitwise AND\", d: \"Medium\", s: \"longest-strictly-increasing-subsequence-with-non-zero-bitwise-and\" },\n { n: 3826, t: \"Minimum Partition Score\", d: \"Hard\", s: \"minimum-partition-score\" },\n { n: 3827, t: \"Count Monobit Integers\", d: \"Easy\", s: \"count-monobit-integers\" },\n { n: 3828, t: \"Final Element After Subarray Deletions\", d: \"Medium\", s: \"final-element-after-subarray-deletions\" },\n { n: 3829, t: \"Design Ride Sharing System\", d: \"Medium\", s: \"design-ride-sharing-system\" },\n { n: 3830, t: \"Longest Alternating Subarray After Removing At Most One Element\", d: \"Hard\", s: \"longest-alternating-subarray-after-removing-at-most-one-element\" },\n { n: 3831, t: \"Median of a Binary Search Tree Level\", d: \"Medium\", s: \"median-of-a-binary-search-tree-level\" },\n { n: 3832, t: \"Find Users with Persistent Behavior Patterns\", d: \"Hard\", s: \"find-users-with-persistent-behavior-patterns\" },\n { n: 3833, t: \"Count Dominant Indices\", d: \"Easy\", s: \"count-dominant-indices\" },\n { n: 3834, t: \"Merge Adjacent Equal Elements\", d: \"Medium\", s: \"merge-adjacent-equal-elements\" },\n { n: 3835, t: \"Count Subarrays With Cost Less Than or Equal to K\", d: \"Medium\", s: \"count-subarrays-with-cost-less-than-or-equal-to-k\" },\n { n: 3836, t: \"Maximum Score Using Exactly K Pairs\", d: \"Hard\", s: \"maximum-score-using-exactly-k-pairs\" },\n { n: 3837, t: \"Delayed Count of Equal Elements\", d: \"Medium\", s: \"delayed-count-of-equal-elements\" },\n { n: 3838, t: \"Weighted Word Mapping\", d: \"Easy\", s: \"weighted-word-mapping\" },\n { n: 3839, t: \"Number of Prefix Connected Groups\", d: \"Medium\", s: \"number-of-prefix-connected-groups\" },\n { n: 3840, t: \"House Robber V\", d: \"Medium\", s: \"house-robber-v\" },\n { n: 3841, t: \"Palindromic Path Queries in a Tree\", d: \"Hard\", s: \"palindromic-path-queries-in-a-tree\" },\n { n: 3842, t: \"Toggle Light Bulbs\", d: \"Easy\", s: \"toggle-light-bulbs\" },\n { n: 3843, t: \"First Element with Unique Frequency\", d: \"Medium\", s: \"first-element-with-unique-frequency\" },\n { n: 3844, t: \"Longest Almost-Palindromic Substring\", d: \"Medium\", s: \"longest-almost-palindromic-substring\" },\n { n: 3845, t: \"Maximum Subarray XOR with Bounded Range\", d: \"Hard\", s: \"maximum-subarray-xor-with-bounded-range\" },\n { n: 3846, t: \"Total Distance to Type a String Using One Finger\", d: \"Medium\", s: \"total-distance-to-type-a-string-using-one-finger\" },\n];\n\n// Index by number for O(1) lookup\nconst byNumber = new Map(LEETCODE_PROBLEMS.map(p => [p.n, p]));\n\n// Search problems by number or title\nexport function searchProblems(query, limit = 20) {\n if (!query || !query.trim()) return [];\n const q = query.trim().toLowerCase();\n const results = [];\n\n // If query is a number, search by number prefix first\n if (/^\\d+$/.test(q)) {\n const num = parseInt(q, 10);\n // Exact match first\n const exact = byNumber.get(num);\n if (exact) results.push(exact);\n // Then prefix matches\n for (const p of LEETCODE_PROBLEMS) {\n if (results.length >= limit) break;\n if (p.n !== num && String(p.n).startsWith(q)) {\n results.push(p);\n }\n }\n }\n\n // Title search\n if (results.length < limit) {\n for (const p of LEETCODE_PROBLEMS) {\n if (results.length >= limit) break;\n if (!results.includes(p) && p.t.toLowerCase().includes(q)) {\n results.push(p);\n }\n }\n }\n\n return results;\n}\n\n// Get a single problem by number\nexport function getProblemByNumber(num) {\n return byNumber.get(num) || null;\n}\n\n// Build URL from slug\nexport function buildLeetCodeUrl(slug) {\n return `https://leetcode.com/problems/${slug}/description/`;\n}\n\nexport default LEETCODE_PROBLEMS;","import { todayStr, addDays, generateId } from \"./dateHelpers\";\nimport { getIntervalDays, getNextFiveStarStreak, getReviewIntervalDays } from \"./spacedRepetition\";\nimport { countReviewedToday } from \"./storage/logic\";\nimport { buildLeetCodeUrl } from \"./leetcode/problems\";\nimport type { Problem, LeetCodeProblem, Confidence } from \"./types\";\n\ninterface BuildNewProblemsOptions {\n today: string;\n now: string;\n dailyGoal: number;\n patternMap: Map<number, string[]> | null;\n}\n\n/**\n * Filter out LC problems that already exist in the user's library.\n */\nexport function filterExistingProblems(\n lcProblems: LeetCodeProblem[],\n existingProblems: Problem[],\n): { newProblems: LeetCodeProblem[]; skippedCount: number } {\n const existingNums = new Set(\n existingProblems.map((p) => p.leetcodeNumber).filter(Boolean)\n );\n const newProblems = lcProblems.filter((lc) => !existingNums.has(lc.n));\n return { newProblems, skippedCount: lcProblems.length - newProblems.length };\n}\n\n/**\n * Round-robin interleave problems by difficulty (Easy, Medium, Hard).\n */\nexport function interleaveByDifficulty(lcProblems: LeetCodeProblem[]): LeetCodeProblem[] {\n const buckets: Record<string, LeetCodeProblem[]> = { Easy: [], Medium: [], Hard: [] };\n lcProblems.forEach((lc) => {\n const bucket = buckets[lc.d] || buckets.Medium;\n bucket.push(lc);\n });\n const interleaved: LeetCodeProblem[] = [];\n const keys = Object.keys(buckets).filter((k) => buckets[k].length > 0);\n let exhausted = false;\n while (!exhausted) {\n exhausted = true;\n for (const key of keys) {\n if (buckets[key].length > 0) {\n interleaved.push(buckets[key].shift()!);\n exhausted = false;\n }\n }\n }\n return interleaved;\n}\n\n/**\n * Build full problem objects from LC problem data, distributing review dates.\n */\nexport function buildNewProblems(\n lcProblems: LeetCodeProblem[],\n { today, now, dailyGoal, patternMap }: BuildNewProblemsOptions,\n): Problem[] {\n return lcProblems.map((lc, i) => ({\n id: generateId(),\n title: lc.t,\n leetcodeNumber: lc.n,\n url: buildLeetCodeUrl(lc.s),\n difficulty: lc.d,\n patterns: patternMap?.get(lc.n) || [],\n confidence: 1 as Confidence,\n notes: \"\",\n excludeFromReview: false,\n dateAdded: today,\n lastReviewed: null,\n nextReviewDate: addDays(today, Math.floor(i / dailyGoal)),\n fiveStarStreak: 0,\n updatedAt: now,\n }));\n}\n\n/**\n * Deduplicate problems by leetcodeNumber, keeping the entry with the most recent updatedAt.\n * Problems without a leetcodeNumber are always kept.\n */\nexport function deduplicateProblems(\n problems: Problem[],\n): { problems: Problem[]; removedIds: string[] } {\n const seen = new Map<number, Problem>();\n const kept: Problem[] = [];\n const removedIds: string[] = [];\n\n for (const problem of problems) {\n if (!problem.leetcodeNumber) {\n kept.push(problem);\n continue;\n }\n const existing = seen.get(problem.leetcodeNumber);\n if (!existing) {\n seen.set(problem.leetcodeNumber, problem);\n kept.push(problem);\n } else {\n const existingTime = existing.updatedAt ? new Date(existing.updatedAt).getTime() : 0;\n const currentTime = problem.updatedAt ? new Date(problem.updatedAt).getTime() : 0;\n if (currentTime > existingTime) {\n const idx = kept.indexOf(existing);\n kept[idx] = problem;\n seen.set(problem.leetcodeNumber, problem);\n removedIds.push(existing.id);\n } else {\n removedIds.push(problem.id);\n }\n }\n }\n return { problems: kept, removedIds };\n}\n\nfunction timestampMs(value: string | null | undefined): number {\n if (!value) return 0;\n const ms = new Date(value).getTime();\n return Number.isFinite(ms) ? ms : 0;\n}\n\n/**\n * Merge imported problems with existing ones by id, then by LeetCode number.\n * When a cross-device LeetCode match has a different local id, keep the local\n * canonical id so existing review history stays attached to the same problem.\n */\nexport function mergeImportedProblems(\n existingProblems: Problem[],\n importedProblems: Problem[],\n): {\n mergedProblems: Problem[];\n addedCount: number;\n updatedCount: number;\n changedProblems: Problem[];\n importedIdToCanonicalId: Map<string, string>;\n} {\n const existing = new Map(existingProblems.map((p) => [p.id, p]));\n const idByLeetCodeNumber = new Map<number, string>();\n existingProblems.forEach((problem) => {\n if (problem.leetcodeNumber != null && !idByLeetCodeNumber.has(problem.leetcodeNumber)) {\n idByLeetCodeNumber.set(problem.leetcodeNumber, problem.id);\n }\n });\n const importedIdToCanonicalId = new Map<string, string>();\n const changedProblems: Problem[] = [];\n let added = 0;\n let updated = 0;\n importedProblems.forEach((p) => {\n const numberMatchId = p.leetcodeNumber == null ? null : idByLeetCodeNumber.get(p.leetcodeNumber) ?? null;\n const current = existing.get(p.id) ?? (numberMatchId ? existing.get(numberMatchId) : undefined);\n const canonicalId = current?.id ?? p.id;\n importedIdToCanonicalId.set(p.id, canonicalId);\n if (current) {\n // Only overwrite if imported version is newer (matches mergeProblems in sync.ts)\n const currentTime = timestampMs(current.updatedAt);\n const importedTime = timestampMs(p.updatedAt);\n if (importedTime > currentTime) {\n const canonicalProblem = p.id === canonicalId ? p : { ...p, id: canonicalId };\n existing.set(canonicalId, canonicalProblem);\n if (canonicalProblem.leetcodeNumber != null) {\n idByLeetCodeNumber.set(canonicalProblem.leetcodeNumber, canonicalId);\n }\n changedProblems.push(canonicalProblem);\n updated++;\n }\n } else {\n existing.set(p.id, p);\n if (p.leetcodeNumber != null) {\n idByLeetCodeNumber.set(p.leetcodeNumber, p.id);\n }\n changedProblems.push(p);\n added++;\n }\n });\n return {\n mergedProblems: Array.from(existing.values()),\n addedCount: added,\n updatedCount: updated,\n changedProblems,\n importedIdToCanonicalId,\n };\n}\n\n/**\n * Compute review progress toward the daily goal.\n */\nexport function computeReviewProgress(\n problems: Problem[],\n dailyReviewGoal: number,\n): { currentReviewed: number; totalDue: number; effectiveGoal: number } {\n const today = todayStr();\n const currentReviewed = countReviewedToday(problems);\n const totalDue = problems.filter((p) => p.nextReviewDate <= today && !p.excludeFromReview).length;\n const effectiveGoal = Math.min(dailyReviewGoal, totalDue + currentReviewed);\n return { currentReviewed, totalDue, effectiveGoal };\n}\n\n/**\n * Build an updated problem after a review with new confidence and dates.\n */\nexport function buildReviewedProblem(problem: Problem, newConfidence: Confidence): Problem {\n const today = todayStr();\n const intervalDays = getReviewIntervalDays(problem, newConfidence);\n const fiveStarStreak = getNextFiveStarStreak(problem, newConfidence);\n return {\n ...problem,\n confidence: newConfidence,\n fiveStarStreak,\n lastReviewed: today,\n nextReviewDate: addDays(today, intervalDays),\n updatedAt: new Date().toISOString(),\n };\n}\n\n// New problems and edits-with-changed-confidence reschedule from today.\n// Cosmetic edits (notes/patterns/etc with same confidence) preserve the existing schedule.\nexport function computeNextReviewDate(\n initialData: Problem | null,\n newConfidence: Confidence,\n today: string,\n): string {\n const confidenceChanged =\n initialData != null && newConfidence !== initialData.confidence;\n if (!initialData || confidenceChanged) {\n return addDays(today, getIntervalDays(newConfidence));\n }\n return initialData.nextReviewDate;\n}\n","import { INTERVALS } from \"./spacedRepetition\";\nimport type { Confidence } from \"./types\";\n\nexport type ProjectionDistribution = [number, number, number, number, number];\n\nexport interface ProjectionSnapshot {\n day: number;\n distribution: ProjectionDistribution;\n}\n\nexport type ProjectionDay = ProjectionSnapshot;\n\nexport interface ProjectionSeriesOptions {\n startDistribution: ProjectionDistribution;\n dailyGoal: number;\n newPerWeek: number;\n days?: number;\n seed?: number;\n advanceRate?: number;\n}\n\ninterface SimProblem {\n confidence: Confidence;\n dueDay: number;\n}\n\nfunction mulberry32(seed: number): () => number {\n let state = seed | 0;\n return () => {\n state = (state + 0x6d2b79f5) | 0;\n let t = Math.imul(state ^ (state >>> 15), 1 | state);\n t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t;\n return ((t ^ (t >>> 14)) >>> 0) / 4294967296;\n };\n}\n\nfunction toDistribution(problems: SimProblem[]): ProjectionDistribution {\n const distribution: ProjectionDistribution = [0, 0, 0, 0, 0];\n for (const problem of problems) {\n distribution[problem.confidence - 1]++;\n }\n return distribution;\n}\n\nexport function simulateProjection(\n startDistribution: ProjectionDistribution,\n dailyGoal: number,\n newPerWeek: number,\n days = 30,\n seed = 42,\n): ProjectionSnapshot[] {\n const series = simulateProjectionSeries({\n startDistribution,\n dailyGoal,\n newPerWeek,\n days,\n seed,\n advanceRate: 1,\n });\n const snapshotDays = [0, 10, 20, days];\n return series.filter((day) => snapshotDays.includes(day.day));\n}\n\nexport function simulateProjectionSeries({\n startDistribution,\n dailyGoal,\n newPerWeek,\n days = 30,\n seed = 42,\n advanceRate = 1,\n}: ProjectionSeriesOptions): ProjectionDay[] {\n const rand = mulberry32(seed);\n const reviewLimit = Math.max(0, dailyGoal);\n const clampedAdvanceRate = Math.max(0, Math.min(1, advanceRate));\n\n const problems: SimProblem[] = [];\n for (let star = 0; star < 5; star++) {\n const count = startDistribution[star];\n const confidence = (star + 1) as Confidence;\n const interval = INTERVALS[confidence];\n for (let index = 0; index < count; index++) {\n problems.push({\n confidence,\n dueDay: Math.floor(rand() * interval),\n });\n }\n }\n\n const series: ProjectionDay[] = [{ day: 0, distribution: toDistribution(problems) }];\n\n for (let day = 1; day <= days; day++) {\n if (newPerWeek > 0) {\n const dayInWeek = (day - 1) % 7;\n const cumulative = Math.floor(((dayInWeek + 1) * newPerWeek) / 7);\n const previousCumulative = Math.floor((dayInWeek * newPerWeek) / 7);\n const toAdd = cumulative - previousCumulative;\n for (let index = 0; index < toAdd; index++) {\n problems.push({ confidence: 1, dueDay: day });\n }\n }\n\n const due = problems\n .filter((problem) => problem.dueDay <= day)\n .sort((a, b) => {\n const confidenceDiff = a.confidence - b.confidence;\n if (confidenceDiff !== 0) return confidenceDiff;\n return a.dueDay - b.dueDay;\n });\n\n const toReview = due.slice(0, reviewLimit);\n for (const problem of toReview) {\n const shouldAdvance =\n clampedAdvanceRate >= 1 ||\n (clampedAdvanceRate > 0 && rand() <= clampedAdvanceRate);\n if (shouldAdvance && problem.confidence < 5) {\n problem.confidence = (problem.confidence + 1) as Confidence;\n }\n problem.dueDay = day + INTERVALS[problem.confidence];\n }\n\n series.push({ day, distribution: toDistribution(problems) });\n }\n\n return series;\n}\n","import { timestampMs, utcToLocalDateStr } from \"../dateHelpers\";\nimport type {\n DataReset,\n Problem,\n ProblemTombstone,\n ReviewEvent,\n ReviewLogEntry,\n} from \"../types\";\n\n// All timestamp comparisons in this module go through timestampMs (F-17):\n// malformed/missing values collapse to the epoch so the side with a valid\n// timestamp deterministically wins and ties resolve local-first.\n\nexport interface MergeProblemsResult {\n problems: Problem[];\n cloudAdded: number;\n cloudWon: number;\n}\n\nexport function mergeProblems(localProblems: Problem[], cloudProblems: Problem[]): MergeProblemsResult {\n const localMap = new Map(localProblems.map((p) => [p.id, p]));\n const cloudMap = new Map(cloudProblems.map((p) => [p.id, p]));\n const merged = new Map<string, Problem>();\n let cloudAdded = 0;\n let cloudWon = 0;\n\n for (const [id, problem] of localMap) {\n merged.set(id, problem);\n }\n\n for (const [id, problem] of cloudMap) {\n if (!merged.has(id)) {\n merged.set(id, problem);\n cloudAdded++;\n continue;\n }\n const local = localMap.get(id)!;\n if (timestampMs(problem.updatedAt) > timestampMs(local.updatedAt)) {\n merged.set(id, problem);\n cloudWon++;\n }\n }\n\n return { problems: Array.from(merged.values()), cloudAdded, cloudWon };\n}\n\nexport interface MergeProblemTombstonesResult {\n tombstones: ProblemTombstone[];\n addedFromCloud: number;\n}\n\nexport function mergeProblemTombstones(\n localTombstones: ProblemTombstone[],\n cloudTombstones: ProblemTombstone[],\n): MergeProblemTombstonesResult {\n const merged = new Map<string, ProblemTombstone>();\n const localMap = new Map(localTombstones.map((t) => [t.problemId, t]));\n let addedFromCloud = 0;\n\n for (const tombstone of localTombstones) {\n merged.set(tombstone.problemId, tombstone);\n }\n\n for (const tombstone of cloudTombstones) {\n const existing = merged.get(tombstone.problemId);\n if (!existing) {\n merged.set(tombstone.problemId, tombstone);\n addedFromCloud++;\n continue;\n }\n if (timestampMs(tombstone.deletedAt) > timestampMs(existing.deletedAt)) {\n merged.set(tombstone.problemId, tombstone);\n if (localMap.has(tombstone.problemId)) addedFromCloud++;\n }\n }\n\n return { tombstones: Array.from(merged.values()), addedFromCloud };\n}\n\n/**\n * F-25: last-write-wins — a tombstone only kills rows not updated after it, so\n * a problem restored from a backup (re-stamped past its tombstone) survives\n * everywhere while stale pre-delete copies on other devices still die. Ties go\n * to the delete.\n */\nexport function filterTombstonedProblems(problems: Problem[], tombstones: ProblemTombstone[]): Problem[] {\n if (tombstones.length === 0) return problems;\n const deletedAtById = new Map(tombstones.map((t) => [t.problemId, t.deletedAt]));\n return problems.filter((p) => {\n const deletedAt = deletedAtById.get(p.id);\n return deletedAt === undefined || timestampMs(p.updatedAt) > timestampMs(deletedAt);\n });\n}\n\nexport interface MergeReviewLogResult {\n log: ReviewLogEntry[];\n addedFromCloud: number;\n}\n\nexport function mergeReviewLog(localLog: ReviewLogEntry[], cloudLog: ReviewLogEntry[]): MergeReviewLogResult {\n const dates = new Set<string>();\n const merged: ReviewLogEntry[] = [];\n let addedFromCloud = 0;\n\n for (const entry of localLog) {\n if (!dates.has(entry.date)) {\n dates.add(entry.date);\n merged.push(entry);\n }\n }\n\n for (const entry of cloudLog) {\n if (!dates.has(entry.date)) {\n dates.add(entry.date);\n merged.push(entry);\n addedFromCloud++;\n }\n }\n\n return { log: merged, addedFromCloud };\n}\n\n// ============================================================\n// DATA-RESET FILTERS\n// ============================================================\n\nexport function dataResetTime(reset: DataReset | null | undefined): number {\n return timestampMs(reset?.resetAt);\n}\n\nexport function compareDataResets(\n localReset: DataReset | null,\n cloudReset: DataReset | null,\n): \"local\" | \"cloud\" | \"none\" {\n const localTime = dataResetTime(localReset);\n const cloudTime = dataResetTime(cloudReset);\n if (localTime > cloudTime) return \"local\";\n if (cloudTime > localTime) return \"cloud\";\n return \"none\";\n}\n\nexport function newestDataReset(localReset: DataReset | null, cloudReset: DataReset | null): DataReset | null {\n return compareDataResets(localReset, cloudReset) === \"cloud\" ? cloudReset : localReset;\n}\n\nexport function filterProblemsAfterDataReset(\n problems: Problem[],\n reset: DataReset | null,\n): { problems: Problem[]; removedIds: string[] } {\n const cutoff = dataResetTime(reset);\n if (cutoff === 0) return { problems, removedIds: [] };\n\n const kept: Problem[] = [];\n const removedIds: string[] = [];\n for (const problem of problems) {\n if (timestampMs(problem.updatedAt) > cutoff) {\n kept.push(problem);\n } else {\n removedIds.push(problem.id);\n }\n }\n return { problems: kept, removedIds };\n}\n\nexport function filterReviewEventsAfterDataReset(events: ReviewEvent[], reset: DataReset | null): ReviewEvent[] {\n const cutoff = dataResetTime(reset);\n if (cutoff === 0) return events;\n return events.filter((event) => timestampMs(event.timestamp) > cutoff);\n}\n\n/**\n * F-20: review-log entries are date-only, so compare against the LOCAL date of\n * the reset. `>=` keeps legitimate same-day post-clear reviews; the plain\n * date-string compare avoids rebuilding the log from events (which would churn\n * under mobile's 180-day event retention).\n */\nexport function filterReviewLogAfterDataReset(\n log: ReviewLogEntry[],\n reset: DataReset | null,\n): ReviewLogEntry[] {\n if (dataResetTime(reset) === 0) return log;\n const resetDate = utcToLocalDateStr(reset!.resetAt);\n if (!resetDate) return log;\n return log.filter((entry) => entry.date >= resetDate);\n}\n\nexport function filterTombstonesAfterDataReset(\n tombstones: ProblemTombstone[],\n reset: DataReset | null,\n): ProblemTombstone[] {\n const cutoff = dataResetTime(reset);\n if (cutoff === 0) return tombstones;\n return tombstones.filter((tombstone) => timestampMs(tombstone.deletedAt) > cutoff);\n}\n\nexport function reviewLogFromEvents(events: ReviewEvent[]): ReviewLogEntry[] {\n const dates = new Set<string>();\n const log: ReviewLogEntry[] = [];\n for (const event of events) {\n if (dates.has(event.date)) continue;\n dates.add(event.date);\n log.push({ date: event.date });\n }\n return log;\n}\n\n/** F-7: review events whose problem did not survive the merge are orphans. */\nexport function filterReviewEventsToProblems(events: ReviewEvent[], problemIds: Set<string>): ReviewEvent[] {\n return events.filter((event) => problemIds.has(event.problemId));\n}\n","import { timestampMs } from \"../dateHelpers\";\nimport type { ReviewEvent } from \"../types\";\n\nexport function reviewEventKey(event: ReviewEvent): string {\n return `${event.problemId}|${event.timestamp}`;\n}\n\n/**\n * Two events are the same review when their keys match exactly, or when they\n * hit the same problem within 5 seconds ON THE SAME calendar date WITH THE\n * SAME confidence (legacy timestamp mismatch between platforms). The date\n * gate is canonical core behavior: near-midnight events on different dates\n * are distinct streak days and must both survive a merge. The confidence\n * gate keeps a genuine same-day re-rate alive — one review can't carry two\n * ratings, so differing confidence means distinct reviews, not drift.\n */\nexport function reviewEventsMatch(a: ReviewEvent, b: ReviewEvent): boolean {\n if (reviewEventKey(a) === reviewEventKey(b)) return true;\n if (a.problemId !== b.problemId) return false;\n if (a.date !== b.date) return false;\n if (a.confidence !== b.confidence) return false;\n const aTime = timestampMs(a.timestamp);\n const bTime = timestampMs(b.timestamp);\n if (!aTime || !bTime) return false;\n return Math.abs(aTime - bTime) < 5000;\n}\n\nexport interface MergeReviewEventsOptions {\n /**\n * F-3 prune watermark (ISO): cloud events strictly older than this were\n * pruned locally on purpose and are dropped instead of resurrected.\n */\n prunedBefore?: string | null;\n}\n\nexport interface MergeReviewEventsResult {\n events: ReviewEvent[];\n addedFromCloud: number;\n localOnlyEvents: ReviewEvent[];\n}\n\nexport function mergeReviewEvents(\n localEvents: ReviewEvent[],\n cloudEvents: ReviewEvent[],\n options: MergeReviewEventsOptions = {},\n): MergeReviewEventsResult {\n const watermarkMs = timestampMs(options.prunedBefore);\n const effectiveCloudEvents = watermarkMs\n ? cloudEvents.filter((event) => timestampMs(event.timestamp) >= watermarkMs)\n : cloudEvents;\n\n const all = [\n ...localEvents.map((event) => ({ event, source: \"local\" as const })),\n ...effectiveCloudEvents.map((event) => ({ event, source: \"cloud\" as const })),\n ].sort((a, b) => a.event.timestamp.localeCompare(b.event.timestamp));\n const kept: Array<{ event: ReviewEvent; source: \"local\" | \"cloud\" }> = [];\n\n for (const item of all) {\n if (kept.some((existing) => reviewEventsMatch(existing.event, item.event))) continue;\n kept.push(item);\n }\n\n let addedFromCloud = 0;\n const localOnlyEvents: ReviewEvent[] = [];\n\n for (const { event, source } of kept) {\n const hasLocalMatch = localEvents.some((localEvent) => reviewEventsMatch(localEvent, event));\n const hasCloudMatch = effectiveCloudEvents.some((cloudEvent) => reviewEventsMatch(cloudEvent, event));\n if (source === \"cloud\" && !hasLocalMatch) addedFromCloud++;\n if (source === \"local\" && !hasCloudMatch) localOnlyEvents.push(event);\n }\n\n return { events: kept.map(({ event }) => event), addedFromCloud, localOnlyEvents };\n}\n","import { REVIEW_EVENTS_PRUNED_BEFORE_KEY } from \"../constants\";\nimport { timestampMs } from \"../dateHelpers\";\nimport type { CoreHooks } from \"../hooks\";\nimport { mergePreferences, preferencesEqual } from \"../preferences\";\nimport { deduplicateProblems } from \"../problemTransforms\";\nimport type { StorageAdapter } from \"../storage/adapter\";\nimport { pruneOldEvents } from \"../storage/logic\";\nimport type { CloudData } from \"../supabase/data\";\nimport type {\n CorePreferences,\n DataReset,\n Problem,\n ProblemTombstone,\n ReviewEvent,\n ReviewLogEntry,\n} from \"../types\";\nimport {\n compareDataResets,\n filterProblemsAfterDataReset,\n filterReviewEventsAfterDataReset,\n filterReviewEventsToProblems,\n filterReviewLogAfterDataReset,\n filterTombstonedProblems,\n filterTombstonesAfterDataReset,\n mergeProblems,\n mergeProblemTombstones,\n mergeReviewLog,\n newestDataReset,\n reviewLogFromEvents,\n} from \"./merge\";\nimport { mergeReviewEvents } from \"./reviewEvents\";\n\n/** The slice of the cloud-data surface performFullSync drives; the full CloudData satisfies it. */\nexport type FullSyncCloud = Pick<\n CloudData,\n | \"fetchProblems\"\n | \"fetchProblemTombstones\"\n | \"fetchDataReset\"\n | \"fetchReviewLog\"\n | \"fetchReviewEvents\"\n | \"fetchPreferences\"\n | \"upsertDataReset\"\n | \"deleteAllUserProblems\"\n | \"deleteAllUserReviewLog\"\n | \"upsertProblemTombstones\"\n | \"deleteProblems\"\n | \"upsertProblems\"\n | \"batchInsertReviewLogs\"\n | \"upsertPreferences\"\n>;\n\nexport interface FullSyncLocalState<P extends CorePreferences = CorePreferences> {\n problems: Problem[];\n reviewLog: ReviewLogEntry[];\n reviewEvents: ReviewEvent[];\n preferences: P;\n problemTombstones: ProblemTombstone[];\n dataReset: DataReset | null;\n}\n\nexport interface FullSyncDeps<P extends CorePreferences = CorePreferences> {\n userId: string;\n cloud: FullSyncCloud;\n /**\n * Used only for the prune watermark (F-3). Merged data is RETURNED, never\n * written here — the platform persists it, so a failed sync leaves local\n * state untouched (F-5).\n */\n storage: StorageAdapter;\n local: FullSyncLocalState<P>;\n /** Local review-event retention: null never prunes (web); mobile passes 180. */\n eventRetentionDays: number | null;\n hooks?: CoreHooks;\n}\n\nexport interface FullSyncSuccess<P extends CorePreferences = CorePreferences>\n extends FullSyncLocalState<P> {\n status: \"success\";\n hasChanges: boolean;\n}\n\nexport interface FullSyncFailure {\n status: \"error\";\n error: unknown;\n}\n\nexport type FullSyncResult<P extends CorePreferences = CorePreferences> =\n | FullSyncSuccess<P>\n | FullSyncFailure;\n\n/**\n * Full sign-in sync: pull everything, merge with the provided local snapshot,\n * repair the cloud, and return the merged state for the platform to persist.\n *\n * Fail-closed (F-5): any critical fetch or any cloud write failure aborts with\n * `{ status: \"error\" }` and no partial local writes. Tolerated degradations\n * (kept from both platforms): review-event and preference fetch failures skip\n * their backfill/merge instead of aborting.\n */\nexport async function performFullSync<P extends CorePreferences = CorePreferences>(\n deps: FullSyncDeps<P>,\n): Promise<FullSyncResult<P>> {\n const { userId, cloud, storage, local, eventRetentionDays, hooks = {} } = deps;\n const warn = hooks.warn ?? (() => undefined);\n const fail = (message: string, error: unknown): FullSyncFailure => {\n warn(message, error);\n return { status: \"error\", error };\n };\n\n try {\n const [\n cloudProblemsRes,\n cloudTombstonesRes,\n cloudResetRes,\n cloudLogRes,\n cloudEventsRes,\n cloudPrefsRes,\n ] = await Promise.all([\n cloud.fetchProblems(userId),\n cloud.fetchProblemTombstones(userId),\n cloud.fetchDataReset(userId),\n cloud.fetchReviewLog(userId),\n cloud.fetchReviewEvents(userId),\n cloud.fetchPreferences(userId),\n ]);\n\n if (cloudProblemsRes.error) {\n return fail(\"Sync: failed to fetch problems\", cloudProblemsRes.error);\n }\n if (cloudTombstonesRes.error) {\n return fail(\"Sync: failed to fetch problem tombstones\", cloudTombstonesRes.error);\n }\n if (cloudResetRes.error) {\n return fail(\"Sync: failed to fetch data reset marker\", cloudResetRes.error);\n }\n const reviewEventsFetchFailed = !!cloudEventsRes.error;\n if (reviewEventsFetchFailed) {\n warn(\"Sync: failed to fetch review events\", cloudEventsRes.error);\n }\n const preferencesFetchFailed = !!cloudPrefsRes.error;\n if (preferencesFetchFailed) {\n warn(\"Sync: failed to fetch preferences\", cloudPrefsRes.error);\n }\n\n const cloudProblems = cloudProblemsRes.data ?? [];\n const cloudTombstones = cloudTombstonesRes.data ?? [];\n const cloudDataReset = cloudResetRes.data ?? null;\n const resetWinner = compareDataResets(local.dataReset, cloudDataReset);\n const dataReset = newestDataReset(local.dataReset, cloudDataReset);\n\n let effectiveLocalProblems = local.problems;\n let effectiveLocalLog = local.reviewLog;\n let effectiveLocalEvents = local.reviewEvents;\n let effectiveCloudProblems = cloudProblems;\n let effectiveCloudLog = cloudLogRes.data ?? [];\n let effectiveCloudEvents = reviewEventsFetchFailed ? [] : cloudEventsRes.data ?? [];\n let resetRemovedCloudProblemIds: string[] = [];\n\n // F-20: local rows predating the newest reset must never survive the merge\n // or be re-uploaded. This covers the resetWinner \"local\" and tie branches;\n // the \"cloud\" branch below zeroes local state anyway.\n let localRemovedByReset = 0;\n if (dataReset) {\n const filteredLocal = filterProblemsAfterDataReset(effectiveLocalProblems, dataReset);\n const filteredLocalEvents = filterReviewEventsAfterDataReset(effectiveLocalEvents, dataReset);\n const filteredLocalLog = filterReviewLogAfterDataReset(effectiveLocalLog, dataReset);\n localRemovedByReset =\n filteredLocal.removedIds.length +\n (effectiveLocalEvents.length - filteredLocalEvents.length) +\n (effectiveLocalLog.length - filteredLocalLog.length);\n effectiveLocalProblems = filteredLocal.problems;\n effectiveLocalEvents = filteredLocalEvents;\n effectiveLocalLog = filteredLocalLog;\n }\n\n if (resetWinner === \"cloud\") {\n effectiveLocalProblems = [];\n effectiveLocalLog = [];\n effectiveLocalEvents = [];\n const filteredCloud = filterProblemsAfterDataReset(cloudProblems, dataReset);\n effectiveCloudProblems = filteredCloud.problems;\n effectiveCloudEvents = filterReviewEventsAfterDataReset(effectiveCloudEvents, dataReset);\n effectiveCloudLog = reviewLogFromEvents(effectiveCloudEvents);\n resetRemovedCloudProblemIds = filteredCloud.removedIds;\n } else if (resetWinner === \"local\") {\n effectiveCloudProblems = [];\n effectiveCloudLog = [];\n effectiveCloudEvents = [];\n // Durable reset marker must land before the destructive wipe, and the\n // wipe must complete before survivors are re-upserted below.\n const resetResult = await cloud.upsertDataReset(userId, local.dataReset!);\n if (resetResult.error) {\n return fail(\"Sync: failed to upsert local data reset marker\", resetResult.error);\n }\n const [problemsDeleteResult, logDeleteResult] = await Promise.all([\n cloud.deleteAllUserProblems(userId),\n cloud.deleteAllUserReviewLog(userId),\n ]);\n if (problemsDeleteResult.error) {\n return fail(\"Sync: failed to repair cloud reset (problems):\", problemsDeleteResult.error);\n }\n if (logDeleteResult.error) {\n return fail(\"Sync: failed to repair cloud reset (review log):\", logDeleteResult.error);\n }\n } else if (dataReset) {\n const filteredCloud = filterProblemsAfterDataReset(cloudProblems, dataReset);\n effectiveCloudProblems = filteredCloud.problems;\n effectiveCloudEvents = filterReviewEventsAfterDataReset(effectiveCloudEvents, dataReset);\n effectiveCloudLog = reviewLogFromEvents(effectiveCloudEvents);\n resetRemovedCloudProblemIds = filteredCloud.removedIds;\n }\n\n const validLocalTombstones = filterTombstonesAfterDataReset(local.problemTombstones, dataReset);\n const validCloudTombstones = filterTombstonesAfterDataReset(cloudTombstones, dataReset);\n const {\n tombstones: mergedTombstones,\n addedFromCloud: tombstonesAddedFromCloud,\n } = mergeProblemTombstones(validLocalTombstones, validCloudTombstones);\n\n const filteredLocalProblems = filterTombstonedProblems(effectiveLocalProblems, mergedTombstones);\n const filteredCloudProblems = filterTombstonedProblems(effectiveCloudProblems, mergedTombstones);\n // Only cloud rows the LWW tombstone filter actually killed get deleted —\n // a row restored past its tombstone (F-25) must keep its cloud copy.\n const survivingCloudIds = new Set(filteredCloudProblems.map((p) => p.id));\n const tombstonedCloudIds = effectiveCloudProblems\n .filter((p) => !survivingCloudIds.has(p.id))\n .map((p) => p.id);\n\n const { problems: merged, cloudAdded, cloudWon } = mergeProblems(filteredLocalProblems, filteredCloudProblems);\n const { problems: mergedProblems, removedIds: dupIds } = deduplicateProblems(merged);\n\n // Durable tombstone markers must be safe before the rows they cover die.\n if (mergedTombstones.length > 0) {\n const { error } = await cloud.upsertProblemTombstones(userId, mergedTombstones);\n if (error) {\n return fail(\"Sync: failed to upsert problem tombstones\", error);\n }\n }\n\n const idsToDelete = new Set(dupIds);\n tombstonedCloudIds.forEach((id) => idsToDelete.add(id));\n resetRemovedCloudProblemIds.forEach((id) => idsToDelete.add(id));\n const idsToDeleteList = Array.from(idsToDelete);\n if (idsToDeleteList.length > 0) {\n const { error } = await cloud.deleteProblems(idsToDeleteList);\n if (error) {\n return fail(\"Sync: failed to delete stale cloud problems\", error);\n }\n }\n\n const cloudIds = new Set(filteredCloudProblems.map((p) => p.id));\n const localIds = new Set(filteredLocalProblems.map((p) => p.id));\n const cloudMap = new Map(filteredCloudProblems.map((p) => [p.id, p]));\n const problemsToPush: Problem[] = [];\n\n for (const problem of mergedProblems) {\n if (!cloudIds.has(problem.id)) {\n problemsToPush.push(problem);\n } else if (localIds.has(problem.id)) {\n const cloudProblem = cloudMap.get(problem.id)!;\n if (timestampMs(problem.updatedAt) > timestampMs(cloudProblem.updatedAt)) {\n problemsToPush.push(problem);\n }\n }\n }\n\n // Problems upload before review-event backfill so events never reference\n // a problem the cloud has not seen yet.\n if (problemsToPush.length > 0) {\n const { error } = await cloud.upsertProblems(userId, problemsToPush);\n if (error) {\n return fail(\"Sync: failed to push local problems\", error);\n }\n }\n\n // F-7: drop review events orphaned by deletes/tombstones/dedup on either side.\n const mergedProblemIds = new Set(mergedProblems.map((problem) => problem.id));\n const validLocalEvents = filterReviewEventsToProblems(effectiveLocalEvents, mergedProblemIds);\n const validCloudEvents = filterReviewEventsToProblems(effectiveCloudEvents, mergedProblemIds);\n const removedOrphanReviewEvents =\n validLocalEvents.length !== effectiveLocalEvents.length ||\n validCloudEvents.length !== effectiveCloudEvents.length;\n\n let prunedBefore: string | null = null;\n try {\n prunedBefore = await storage.getItem(REVIEW_EVENTS_PRUNED_BEFORE_KEY);\n } catch (err) {\n warn(\"Sync: failed to read the review-event prune watermark\", err);\n }\n\n const { log: baseMergedLog, addedFromCloud: logAddedFromCloud } = mergeReviewLog(\n effectiveLocalLog,\n effectiveCloudLog,\n );\n const {\n events: mergedEvents,\n addedFromCloud: eventsAddedFromCloud,\n localOnlyEvents,\n } = mergeReviewEvents(validLocalEvents, validCloudEvents, { prunedBefore });\n\n // Any date carried by a surviving event counts as a practiced day. This is\n // how pre-reset review-log dates come back after a backup restore: the\n // date-only log entries die to the reset filter (they cannot be\n // re-stamped), but the restored events — re-stamped past the reset — still\n // carry them. Union only ever adds dates, so a cleared device (whose\n // pre-reset events were filtered) resurrects nothing.\n const { log: mergedLog, addedFromCloud: logAddedFromEvents } = mergeReviewLog(\n baseMergedLog,\n reviewLogFromEvents(mergedEvents),\n );\n\n if (localOnlyEvents.length > 0 && !reviewEventsFetchFailed) {\n const { error } = await cloud.batchInsertReviewLogs(userId, localOnlyEvents);\n if (error) {\n return fail(\"Sync: failed to backfill local review events\", error);\n }\n }\n\n // Preferences: newest-wins with the epoch shim (F-6).\n const cloudPrefs = cloudPrefsRes.data ?? null;\n let mergedPreferences: P = local.preferences;\n let preferencesChanged = false;\n if (!preferencesFetchFailed) {\n if (!cloudPrefs) {\n // First sign-in — seed the cloud from local.\n const { error } = await cloud.upsertPreferences(userId, local.preferences);\n if (error) {\n return fail(\"Sync: failed to initialize cloud preferences\", error);\n }\n } else {\n const prefsMerge = mergePreferences(local.preferences, cloudPrefs);\n mergedPreferences = prefsMerge.preferences;\n if (prefsMerge.winner === \"cloud\") {\n preferencesChanged = !preferencesEqual(cloudPrefs, local.preferences);\n } else {\n // Local is strictly newer — propagate so other devices converge.\n const { error } = await cloud.upsertPreferences(userId, local.preferences);\n if (error) {\n return fail(\"Sync: failed to push newer local preferences\", error);\n }\n }\n }\n }\n\n // Optional post-sync prune (F-3): cloud keeps full history; the watermark\n // is persisted BEFORE the pruned set is adopted so a failed write cannot\n // strand pruned-but-resurrectable events.\n let reviewEvents = mergedEvents;\n let prunedCount = 0;\n if (eventRetentionDays != null) {\n const { kept, cutoffIso } = pruneOldEvents(mergedEvents, { retentionDays: eventRetentionDays });\n if (cutoffIso) {\n try {\n if (timestampMs(cutoffIso) > timestampMs(prunedBefore)) {\n await storage.setItem(REVIEW_EVENTS_PRUNED_BEFORE_KEY, cutoffIso);\n }\n reviewEvents = kept;\n prunedCount = mergedEvents.length - kept.length;\n } catch (err) {\n warn(\"Sync: failed to persist the review-event prune watermark; skipping prune\", err);\n }\n }\n }\n\n const hasChanges =\n cloudAdded > 0 ||\n cloudWon > 0 ||\n idsToDeleteList.length > 0 ||\n tombstonesAddedFromCloud > 0 ||\n removedOrphanReviewEvents ||\n resetWinner === \"cloud\" ||\n localRemovedByReset > 0 ||\n logAddedFromCloud > 0 ||\n logAddedFromEvents > 0 ||\n eventsAddedFromCloud > 0 ||\n prunedCount > 0 ||\n preferencesChanged;\n\n return {\n status: \"success\",\n problems: mergedProblems,\n reviewLog: mergedLog,\n reviewEvents,\n preferences: mergedPreferences,\n problemTombstones: mergedTombstones,\n dataReset,\n hasChanges,\n };\n } catch (err) {\n return fail(\"Sync: unexpected error\", err);\n }\n}\n","export const CLOUD_OPERATION_TIMEOUT_MS = 15_000;\nexport const FULL_SYNC_TIMEOUT_MS = 25_000;\nexport const LEETCODE_ACTIVITY_TIMEOUT_MS = 45_000;\n\nexport class SyncTimeoutError extends Error {\n operation: string;\n timeoutMs: number;\n\n constructor(operation: string, timeoutMs: number) {\n super(`${operation} timed out after ${timeoutMs}ms`);\n this.name = \"SyncTimeoutError\";\n this.operation = operation;\n this.timeoutMs = timeoutMs;\n }\n}\n\nexport function isSyncTimeoutError(error: unknown): error is SyncTimeoutError {\n return error instanceof SyncTimeoutError || (\n !!error\n && typeof error === \"object\"\n && (error as { name?: unknown }).name === \"SyncTimeoutError\"\n );\n}\n\nexport function isLikelyOfflineError(error: unknown): boolean {\n if (isSyncTimeoutError(error)) return true;\n const message = error instanceof Error ? error.message : String(error ?? \"\");\n return /network|offline|timeout|timed out|connection|fetch/i.test(message);\n}\n\nexport function withTimeout<T>(\n promise: PromiseLike<T>,\n timeoutMs: number,\n operation: string,\n): Promise<T> {\n let timeoutId: ReturnType<typeof setTimeout> | null = null;\n\n const timeout = new Promise<never>((_, reject) => {\n timeoutId = setTimeout(() => {\n reject(new SyncTimeoutError(operation, timeoutMs));\n }, timeoutMs);\n });\n\n return Promise.race([Promise.resolve(promise), timeout]).finally(() => {\n if (timeoutId) clearTimeout(timeoutId);\n });\n}\n\nexport function withCloudOperationTimeout<T>(\n operation: string,\n promise: PromiseLike<T>,\n): Promise<T> {\n return withTimeout(promise, CLOUD_OPERATION_TIMEOUT_MS, operation);\n}\n","import { todayStr } from \"../dateHelpers\";\nimport type { LeetCodeSubmission } from \"../types\";\nimport type { StorageAdapter } from \"../storage/adapter\";\nimport type { CoreHooks } from \"../hooks\";\n\nexport type TodayLeetCodeCompletionAction = \"imported\" | \"linked_existing\" | \"rated\";\n\nexport interface LeetCodeCompletionIdentity {\n submissionDbId?: string | null;\n leetcodeSubmissionId?: string | null;\n titleSlug?: string | null;\n leetcodeNumber?: number | null;\n problemId?: string | null;\n}\n\nexport interface TodayLeetCodeCompletion extends Required<Pick<LeetCodeCompletionIdentity, \"submissionDbId\">> {\n key: string;\n date: string;\n leetcodeSubmissionId: string | null;\n titleSlug: string | null;\n leetcodeNumber: number | null;\n problemId: string;\n action: TodayLeetCodeCompletionAction;\n completedAt: string;\n}\n\nconst STORAGE_KEY_PREFIX = \"patternbank-today-leetcode-completions\";\n\nexport function buildTodayLeetCodeCompletionsStorageKey(today = todayStr()): string {\n return `${STORAGE_KEY_PREFIX}:${today}`;\n}\n\nexport function buildLeetCodeCompletionKey(identity: LeetCodeCompletionIdentity): string {\n const titleSlug = identity.titleSlug?.trim();\n if (titleSlug) return `slug:${titleSlug}`;\n if (typeof identity.leetcodeNumber === \"number\") return `number:${identity.leetcodeNumber}`;\n if (identity.problemId) return `problem:${identity.problemId}`;\n if (identity.leetcodeSubmissionId) return `leetcode-submission:${identity.leetcodeSubmissionId}`;\n return `submission:${identity.submissionDbId ?? \"\"}`;\n}\n\nexport function buildLeetCodeCompletionKeys(identity: LeetCodeCompletionIdentity): string[] {\n const keys: string[] = [];\n const titleSlug = identity.titleSlug?.trim();\n if (titleSlug) keys.push(`slug:${titleSlug}`);\n if (typeof identity.leetcodeNumber === \"number\") keys.push(`number:${identity.leetcodeNumber}`);\n if (identity.problemId) keys.push(`problem:${identity.problemId}`);\n if (identity.leetcodeSubmissionId) keys.push(`leetcode-submission:${identity.leetcodeSubmissionId}`);\n if (identity.submissionDbId) keys.push(`submission:${identity.submissionDbId}`);\n if (keys.length === 0) keys.push(buildLeetCodeCompletionKey(identity));\n return keys;\n}\n\nfunction findMatchingCompletion(\n identity: LeetCodeCompletionIdentity,\n completions: TodayLeetCodeCompletion[],\n): TodayLeetCodeCompletion | null {\n const identityKeys = new Set(buildLeetCodeCompletionKeys(identity));\n let match: TodayLeetCodeCompletion | null = null;\n\n for (const completion of completions) {\n const completionKeys = new Set([\n completion.key,\n ...buildLeetCodeCompletionKeys(completion),\n ]);\n const matches = [...identityKeys].some((key) => completionKeys.has(key));\n if (!matches) continue;\n if (!match || completion.completedAt > match.completedAt) match = completion;\n }\n\n return match;\n}\n\nfunction isCompletionRecord(value: unknown, today: string): value is TodayLeetCodeCompletion {\n if (!value || typeof value !== \"object\") return false;\n const record = value as Partial<TodayLeetCodeCompletion>;\n return (\n record.date === today\n && typeof record.key === \"string\"\n && typeof record.submissionDbId === \"string\"\n && typeof record.problemId === \"string\"\n && (record.action === \"imported\" || record.action === \"linked_existing\" || record.action === \"rated\")\n );\n}\n\n/** Pure raw-storage-value → records parse; platforms feed it their own reads. */\nexport function parseTodayLeetCodeCompletions(raw: string | null, today = todayStr()): TodayLeetCodeCompletion[] {\n try {\n const parsed = JSON.parse(raw ?? \"[]\") as unknown;\n if (!Array.isArray(parsed)) return [];\n return parsed\n .filter((record): record is TodayLeetCodeCompletion => isCompletionRecord(record, today))\n .map((record) => ({\n ...record,\n leetcodeSubmissionId: record.leetcodeSubmissionId ?? null,\n titleSlug: record.titleSlug ?? null,\n leetcodeNumber: record.leetcodeNumber ?? null,\n }));\n } catch {\n return [];\n }\n}\n\n/** Pure records → raw storage value; keeps only the given day's records. */\nexport function serializeTodayLeetCodeCompletions(\n completions: TodayLeetCodeCompletion[],\n today = todayStr(),\n): string {\n return JSON.stringify(completions.filter((record) => record.date === today));\n}\n\nexport async function loadTodayLeetCodeCompletions(\n storage: StorageAdapter,\n today = todayStr(),\n): Promise<TodayLeetCodeCompletion[]> {\n try {\n return parseTodayLeetCodeCompletions(\n await storage.getItem(buildTodayLeetCodeCompletionsStorageKey(today)),\n today,\n );\n } catch {\n return [];\n }\n}\n\nexport async function saveTodayLeetCodeCompletions(\n storage: StorageAdapter,\n completions: TodayLeetCodeCompletion[],\n today = todayStr(),\n hooks?: CoreHooks,\n): Promise<void> {\n try {\n await storage.setItem(\n buildTodayLeetCodeCompletionsStorageKey(today),\n serializeTodayLeetCodeCompletions(completions, today),\n );\n } catch (err) {\n hooks?.warn?.(\"Failed to save Today LeetCode completions\", err);\n }\n}\n\nexport function mergeTodayLeetCodeCompletion(\n completions: TodayLeetCodeCompletion[],\n completion: LeetCodeCompletionIdentity & {\n submissionDbId: string;\n problemId: string;\n action: TodayLeetCodeCompletionAction;\n completedAt?: string;\n },\n today = todayStr(),\n now = new Date().toISOString(),\n): TodayLeetCodeCompletion[] {\n const nextRecord: TodayLeetCodeCompletion = {\n key: buildLeetCodeCompletionKey(completion),\n date: today,\n completedAt: completion.completedAt ?? now,\n submissionDbId: completion.submissionDbId,\n leetcodeSubmissionId: completion.leetcodeSubmissionId || null,\n titleSlug: completion.titleSlug || null,\n leetcodeNumber: completion.leetcodeNumber ?? null,\n problemId: completion.problemId,\n action: completion.action,\n };\n const nextKeys = new Set(buildLeetCodeCompletionKeys(nextRecord));\n nextKeys.add(nextRecord.key);\n const matchingRecord = completions.find((record) => {\n if (record.date !== today) return false;\n const recordKeys = new Set([\n record.key,\n ...buildLeetCodeCompletionKeys(record),\n ]);\n return [...nextKeys].some((key) => recordKeys.has(key));\n });\n if (\n matchingRecord\n && matchingRecord.problemId === nextRecord.problemId\n && matchingRecord.action === nextRecord.action\n && matchingRecord.submissionDbId === nextRecord.submissionDbId\n && matchingRecord.leetcodeSubmissionId === nextRecord.leetcodeSubmissionId\n && matchingRecord.titleSlug === nextRecord.titleSlug\n && matchingRecord.leetcodeNumber === nextRecord.leetcodeNumber\n ) {\n return completions;\n }\n const withoutExisting = completions.filter((record) => {\n if (record.date !== today) return true;\n const recordKeys = new Set([\n record.key,\n ...buildLeetCodeCompletionKeys(record),\n ]);\n return ![...nextKeys].some((key) => recordKeys.has(key));\n });\n return [...withoutExisting, nextRecord];\n}\n\nexport async function addTodayLeetCodeCompletion(\n storage: StorageAdapter,\n completion: LeetCodeCompletionIdentity & {\n submissionDbId: string;\n problemId: string;\n action: TodayLeetCodeCompletionAction;\n },\n today = todayStr(),\n): Promise<TodayLeetCodeCompletion[]> {\n const next = mergeTodayLeetCodeCompletion(await loadTodayLeetCodeCompletions(storage, today), completion, today);\n await saveTodayLeetCodeCompletions(storage, next, today);\n return next;\n}\n\nexport function isLeetCodeSubmissionCompletedToday(\n identity: LeetCodeCompletionIdentity,\n completions: TodayLeetCodeCompletion[],\n): boolean {\n return findMatchingCompletion(identity, completions) !== null;\n}\n\nexport function buildLeetCodeSubmissionsWithCompletions(\n submissions: LeetCodeSubmission[],\n completions: TodayLeetCodeCompletion[],\n): LeetCodeSubmission[] {\n return submissions.map((submission) => {\n const completion = findMatchingCompletion({\n submissionDbId: submission.id,\n leetcodeSubmissionId: submission.leetcodeSubmissionId,\n titleSlug: submission.titleSlug,\n leetcodeNumber: submission.leetcodeNumber,\n problemId: submission.problemId,\n }, completions);\n if (!completion) return submission;\n return {\n ...submission,\n problemId: completion.problemId,\n status: completion.action,\n };\n });\n}\n","import { todayStr, utcToLocalDateStr } from \"./dateHelpers\";\nimport { prioritizeProblems } from \"./spacedRepetition\";\nimport { buildLeetCodeCompletionKey } from \"./leetcode/todayCompletions\";\nimport type { Confidence, Difficulty, LeetCodeSubmission, Problem, ReviewEvent, TodayLeetCodeItem } from \"./types\";\n\nexport interface TodayReviewState {\n todaysReviews: Problem[];\n totalDueCount: number;\n reviewedToday: number;\n effectiveGoal: number;\n remainingSlots: number;\n}\n\nexport interface DoneTodayFeedItem {\n id: string;\n problemId: string;\n title: string;\n leetcodeNumber: number | null;\n difficulty: Difficulty;\n confidence: Confidence;\n timestamp: string;\n}\n\nexport type TodayActivityFeedItem =\n | {\n type: \"pb_review\";\n id: string;\n problemId: string;\n title: string;\n leetcodeNumber: number | null;\n difficulty: Difficulty;\n confidence: Confidence;\n timestamp: string;\n }\n | {\n type: \"leetcode_solve\";\n id: string;\n submissionDbId: string;\n problemId: string;\n title: string;\n leetcodeNumber: number | null;\n difficulty: Difficulty;\n submittedAt: string;\n status: \"linked_existing\" | \"imported\" | \"rated\";\n reviewDue: boolean;\n canRate: boolean;\n };\n\nexport interface SolvedOnLeetCodeTodayIndex {\n problemIds: Set<string>;\n leetcodeNumbers: Set<number>;\n}\n\nexport interface ExitingTodayLeetCodeItem {\n key: string;\n item: TodayLeetCodeItem;\n}\n\nfunction coerceConfidence(confidence: number): Confidence {\n if (confidence === 1 || confidence === 2 || confidence === 3 || confidence === 4 || confidence === 5) {\n return confidence;\n }\n return 1;\n}\n\nfunction isDoneTodayLeetCodeStatus(\n status: LeetCodeSubmission[\"status\"],\n): status is \"detected\" | \"linked_existing\" | \"imported\" | \"rated\" {\n return status === \"detected\" || status === \"linked_existing\" || status === \"imported\" || status === \"rated\";\n}\n\nfunction leetcodeStatusRank(status: \"linked_existing\" | \"imported\" | \"rated\"): number {\n if (status === \"rated\") return 3;\n if (status === \"imported\") return 2;\n return 1;\n}\n\nfunction activityTimestamp(item: TodayActivityFeedItem): string {\n return item.type === \"pb_review\" ? item.timestamp : item.submittedAt;\n}\n\nexport function buildTodayReviewState(\n problems: Problem[],\n dailyGoal: number,\n today = todayStr(),\n): TodayReviewState {\n const allDueProblems = problems.filter((p) => p.nextReviewDate <= today && !p.excludeFromReview);\n const reviewedToday = problems.filter((p) => p.lastReviewed === today).length;\n const totalDueCount = allDueProblems.length;\n const effectiveGoal = Math.min(dailyGoal, totalDueCount + reviewedToday);\n const remainingSlots = Math.max(0, effectiveGoal - reviewedToday);\n const todaysReviews = prioritizeProblems(allDueProblems, remainingSlots, today);\n\n return {\n todaysReviews,\n totalDueCount,\n reviewedToday,\n effectiveGoal,\n remainingSlots,\n };\n}\n\nexport function buildDoneTodayFeedItems(\n problems: Problem[],\n reviewEvents: ReviewEvent[],\n today = todayStr(),\n): DoneTodayFeedItem[] {\n return buildTodayActivityFeedItems({\n problems,\n reviewEvents,\n leetcodeSubmissions: [],\n today,\n }).filter((item): item is DoneTodayFeedItem & { type: \"pb_review\" } => item.type === \"pb_review\");\n}\n\nexport function buildSolvedOnLeetCodeTodayIndex(\n leetcodeSubmissions: LeetCodeSubmission[],\n today = todayStr(),\n): SolvedOnLeetCodeTodayIndex {\n const problemIds = new Set<string>();\n const leetcodeNumbers = new Set<number>();\n\n for (const submission of leetcodeSubmissions) {\n if (submission.status === \"ignored\") continue;\n if (utcToLocalDateStr(submission.submittedAt) !== today) continue;\n if (submission.problemId) problemIds.add(submission.problemId);\n if (typeof submission.leetcodeNumber === \"number\") leetcodeNumbers.add(submission.leetcodeNumber);\n }\n\n return { problemIds, leetcodeNumbers };\n}\n\nexport function buildTodayLeetCodeItemKey(item: TodayLeetCodeItem): string {\n return buildLeetCodeCompletionKey({\n submissionDbId: item.submissionDbId,\n leetcodeSubmissionId: item.leetcodeSubmissionId,\n titleSlug: item.titleSlug,\n leetcodeNumber: item.leetcodeNumber,\n problemId: item.matchedProblemId,\n });\n}\n\nexport function buildRemovedTodayLeetCodeItems({\n previousItems,\n currentItems,\n exitingKeys,\n}: {\n previousItems: TodayLeetCodeItem[];\n currentItems: TodayLeetCodeItem[];\n exitingKeys: Set<string>;\n}): ExitingTodayLeetCodeItem[] {\n const currentKeys = new Set(currentItems.map(buildTodayLeetCodeItemKey));\n return previousItems\n .map((item) => ({ key: buildTodayLeetCodeItemKey(item), item }))\n .filter(({ key }) => !currentKeys.has(key) && !exitingKeys.has(key));\n}\n\nexport function buildTodayActivityFeedItems({\n problems,\n reviewEvents,\n leetcodeSubmissions,\n today = todayStr(),\n}: {\n problems: Problem[];\n reviewEvents: ReviewEvent[];\n leetcodeSubmissions: LeetCodeSubmission[];\n today?: string;\n}): TodayActivityFeedItem[] {\n const problemById = new Map(problems.map((problem) => [problem.id, problem]));\n const problemByNumber = new Map(\n problems\n .filter((problem): problem is Problem & { leetcodeNumber: number } => typeof problem.leetcodeNumber === \"number\")\n .map((problem) => [problem.leetcodeNumber, problem]),\n );\n const reviewedProblemIds = new Set<string>();\n const latestReviewByProblem = new Map<string, ReviewEvent>();\n\n for (const event of reviewEvents) {\n if (event.date !== today) continue;\n const problem = problemById.get(event.problemId);\n if (!problem) continue;\n reviewedProblemIds.add(event.problemId);\n const current = latestReviewByProblem.get(event.problemId);\n if (!current || event.timestamp > current.timestamp) {\n latestReviewByProblem.set(event.problemId, event);\n }\n }\n\n const pbItems: TodayActivityFeedItem[] = Array.from(latestReviewByProblem.values()).map((event) => {\n const problem = problemById.get(event.problemId)!;\n return {\n type: \"pb_review\",\n id: `pb-${event.problemId}-${event.timestamp}`,\n problemId: event.problemId,\n title: problem.title,\n leetcodeNumber: problem.leetcodeNumber,\n difficulty: problem.difficulty,\n confidence: coerceConfidence(event.confidence),\n timestamp: event.timestamp,\n };\n });\n\n const leetcodeByProblemId = new Map<string, Extract<TodayActivityFeedItem, { type: \"leetcode_solve\" }>>();\n\n for (const submission of leetcodeSubmissions) {\n if (!isDoneTodayLeetCodeStatus(submission.status)) continue;\n if (utcToLocalDateStr(submission.submittedAt) !== today) continue;\n\n const problem = (submission.problemId ? problemById.get(submission.problemId) : undefined)\n ?? (typeof submission.leetcodeNumber === \"number\" ? problemByNumber.get(submission.leetcodeNumber) : undefined);\n if (!problem?.id) continue;\n if (reviewedProblemIds.has(problem.id)) continue;\n\n const reviewDue = problem.nextReviewDate <= today && !problem.excludeFromReview;\n const alreadyReviewedToday = problem.lastReviewed === today || reviewedProblemIds.has(problem.id);\n const status = submission.status === \"detected\" ? \"linked_existing\" : submission.status;\n const item: Extract<TodayActivityFeedItem, { type: \"leetcode_solve\" }> = {\n type: \"leetcode_solve\",\n id: `lc-${submission.id}`,\n submissionDbId: submission.id,\n problemId: problem.id,\n title: problem.title,\n leetcodeNumber: problem.leetcodeNumber ?? submission.leetcodeNumber,\n difficulty: problem.difficulty,\n submittedAt: submission.submittedAt,\n status,\n reviewDue,\n canRate: reviewDue && !alreadyReviewedToday && status !== \"rated\",\n };\n\n const current = leetcodeByProblemId.get(problem.id);\n if (!current) {\n leetcodeByProblemId.set(problem.id, item);\n continue;\n }\n const nextRank = leetcodeStatusRank(item.status);\n const currentRank = leetcodeStatusRank(current.status);\n if (nextRank > currentRank || (nextRank === currentRank && item.submittedAt > current.submittedAt)) {\n leetcodeByProblemId.set(problem.id, item);\n }\n }\n\n return [...pbItems, ...leetcodeByProblemId.values()].sort((a, b) =>\n activityTimestamp(b).localeCompare(activityTimestamp(a)),\n );\n}\n","import { getDefaultFiveStarStreak } from \"../spacedRepetition\";\nimport type { CoreHooks } from \"../hooks\";\nimport type { Confidence, CorePreferences, Difficulty, Problem } from \"../types\";\n\n// ============================================================\n// FIELD MAPPING: camelCase (local storage) ↔ snake_case (Supabase)\n// ============================================================\n\nexport interface ProblemRow {\n id: string;\n user_id: string;\n title: string;\n leetcode_number: number | null;\n url: string | null;\n difficulty: string;\n patterns: string[];\n confidence: number;\n notes: string;\n exclude_from_review: boolean;\n date_added: string;\n last_reviewed: string | null;\n next_review_date: string;\n five_star_streak?: number | null;\n /** F-14: always a string on write; reads are validated with an epoch fallback. */\n updated_at: string;\n}\n\nexport interface ProblemTombstoneRow {\n user_id: string;\n problem_id: string;\n deleted_at: string;\n created_at?: string;\n updated_at?: string;\n}\n\nexport interface DataResetRow {\n user_id: string;\n reset_at: string;\n created_at?: string;\n updated_at?: string;\n}\n\nexport interface ReviewEventRow {\n problem_id: string;\n new_confidence: number;\n patterns: string[] | null;\n review_date: string;\n created_at: string;\n}\n\n/**\n * The subset of preferences that syncs to Supabase. Platforms may extend\n * their local Preferences (mobile adds notification fields) — only these\n * fields travel to the cloud. `updatedAt` powers newest-wins merge (F-6).\n */\nexport type CloudPreferences = Pick<\n CorePreferences,\n \"dailyReviewGoal\" | \"hidePatternsDuringReview\" | \"enabledExtraPatterns\" | \"updatedAt\"\n>;\n\nexport function toCloudPreferences(data: Record<string, unknown>): CloudPreferences {\n const prefs: CloudPreferences = {\n dailyReviewGoal: data.daily_review_goal as number,\n hidePatternsDuringReview: (data.hide_patterns_during_review as boolean) ?? false,\n enabledExtraPatterns: (data.enabled_extra_patterns as string[]) ?? [],\n };\n if (typeof data.updated_at === \"string\") {\n prefs.updatedAt = data.updated_at;\n }\n return prefs;\n}\n\n/** F-8: deterministic dedupe key shared by logReview and batch review-log inserts. */\nexport function reviewDedupeKey(userId: string, problemId: string, timestamp: string): string {\n return `review:${userId}:${problemId}:${timestamp}`;\n}\n\nconst EPOCH_ISO = new Date(0).toISOString();\n\n/**\n * F-14: a cloud row missing (or carrying an unparseable) `updated_at` falls\n * back to the epoch — never a silent `now()`, which would make the corrupt\n * row win last-write-wins merges — and reports through the `warn` hook.\n */\nfunction validateUpdatedAt(row: Record<string, unknown>, warn?: CoreHooks[\"warn\"]): string {\n const value = row.updated_at;\n if (typeof value === \"string\" && !Number.isNaN(Date.parse(value))) return value;\n warn?.(\"Supabase problem row has a missing or invalid updated_at; treating it as epoch\", {\n id: row.id,\n updated_at: value,\n });\n return EPOCH_ISO;\n}\n\nexport function toSnakeCase(problem: Problem): Omit<ProblemRow, \"user_id\"> {\n return {\n id: problem.id,\n title: problem.title,\n leetcode_number: problem.leetcodeNumber ?? null,\n url: problem.url ?? null,\n difficulty: problem.difficulty,\n patterns: problem.patterns,\n confidence: problem.confidence,\n notes: problem.notes ?? \"\",\n exclude_from_review: problem.excludeFromReview ?? false,\n date_added: problem.dateAdded,\n last_reviewed: problem.lastReviewed ?? null,\n next_review_date: problem.nextReviewDate,\n five_star_streak: problem.fiveStarStreak ?? getDefaultFiveStarStreak(problem.confidence),\n updated_at: problem.updatedAt || new Date().toISOString(),\n };\n}\n\nexport function toCamelCase(\n row: Record<string, unknown>,\n hooks?: Pick<CoreHooks, \"warn\">,\n): Problem {\n return {\n id: row.id as string,\n title: row.title as string,\n leetcodeNumber: (row.leetcode_number as number | null) ?? null,\n url: (row.url as string | null) ?? null,\n difficulty: row.difficulty as Difficulty,\n patterns: (row.patterns as string[]) ?? [],\n confidence: row.confidence as Confidence,\n notes: (row.notes as string) ?? \"\",\n excludeFromReview: (row.exclude_from_review as boolean) ?? false,\n dateAdded: row.date_added as string,\n lastReviewed: (row.last_reviewed as string | null) ?? null,\n nextReviewDate: row.next_review_date as string,\n fiveStarStreak:\n (row.five_star_streak as number | null | undefined) ??\n getDefaultFiveStarStreak(row.confidence as number),\n updatedAt: validateUpdatedAt(row, hooks?.warn),\n };\n}\n","import type { SupabaseClient } from \"@supabase/supabase-js\";\nimport { todayStr, utcToLocalDateStr } from \"../dateHelpers\";\nimport { CLOUD_OPERATION_TIMEOUT_MS, withTimeout } from \"../syncTimeout\";\nimport type { CoreHooks } from \"../hooks\";\nimport type {\n Confidence,\n DataReset,\n Problem,\n ProblemTombstone,\n ReviewEvent,\n ReviewHistoryEntry,\n ReviewLogEntry,\n} from \"../types\";\nimport {\n reviewDedupeKey,\n toCamelCase,\n toCloudPreferences,\n toSnakeCase,\n type CloudPreferences,\n type DataResetRow,\n type ProblemTombstoneRow,\n type ReviewEventRow,\n} from \"./mapping\";\n\nexport interface CreateCloudDataOptions {\n /**\n * Platform Supabase client. May be null (missing credentials) — every\n * returned function then no-ops with its `{ data: null, error: null }`-style\n * guard shape, exactly as both platforms behave today.\n */\n supabase: SupabaseClient | null;\n hooks?: CoreHooks;\n /** Per-operation cloud timeout (F-9). */\n timeoutMs?: number;\n}\n\nexport interface CloudData {\n fetchProblems(userId: string): Promise<{ data: Problem[] | null; error: unknown }>;\n upsertProblem(userId: string, problem: Problem): Promise<{ data: Problem | null; error: unknown }>;\n upsertProblems(userId: string, problems: Problem[]): Promise<{ data: Problem[] | null; error: unknown }>;\n deleteProblem(problemId: string): Promise<{ data: null; error: unknown }>;\n deleteProblems(problemIds: string[]): Promise<{ error: unknown }>;\n fetchProblemTombstones(userId: string): Promise<{ data: ProblemTombstone[] | null; error: unknown }>;\n upsertProblemTombstone(userId: string, tombstone: ProblemTombstone): Promise<{ error: unknown }>;\n upsertProblemTombstones(userId: string, tombstones: ProblemTombstone[]): Promise<{ error: unknown }>;\n fetchDataReset(userId: string): Promise<{ data: DataReset | null; error: unknown }>;\n upsertDataReset(userId: string, reset: DataReset): Promise<{ error: unknown }>;\n fetchReviewLog(userId: string): Promise<{ data: ReviewLogEntry[] | null; error: unknown }>;\n logReview(\n userId: string,\n problemId: string,\n oldConfidence: Confidence,\n newConfidence: Confidence,\n patterns?: string[],\n timestamp?: string,\n ): Promise<{ data: unknown; error: unknown }>;\n replaceReviewLog(\n userId: string,\n problemId: string,\n oldConfidence: Confidence,\n newConfidence: Confidence,\n patterns: string[],\n timestamp?: string,\n ): Promise<{ data: unknown; error: unknown }>;\n fetchReviewEvents(userId: string, since?: string): Promise<{ data: ReviewEvent[] | null; error: unknown }>;\n batchInsertReviewLogs(userId: string, events: ReviewEvent[]): Promise<{ error: unknown }>;\n fetchProblemReviewHistory(\n userId: string,\n problemId: string,\n ): Promise<{ data: ReviewHistoryEntry[] | null; error: unknown }>;\n fetchPreferences(userId: string): Promise<{ data: CloudPreferences | null; error: unknown }>;\n upsertPreferences(\n userId: string,\n prefs: CloudPreferences,\n ): Promise<{ data: CloudPreferences | null; error: unknown }>;\n submitFeedback(userId: string | null, message: string): Promise<{ error: unknown }>;\n deleteAllUserProblems(userId: string): Promise<{ error: unknown }>;\n deleteAllUserReviewLog(userId: string): Promise<{ error: unknown }>;\n}\n\nexport function createCloudData(options: CreateCloudDataOptions): CloudData {\n const { supabase, hooks = {}, timeoutMs = CLOUD_OPERATION_TIMEOUT_MS } = options;\n\n const timed = <T>(operation: string, promise: PromiseLike<T>): Promise<T> =>\n withTimeout(promise, timeoutMs, operation);\n\n const rowToProblem = (row: Record<string, unknown>): Problem => toCamelCase(row, hooks);\n\n // ============================================================\n // PROBLEMS\n // ============================================================\n\n async function fetchProblems(userId: string): Promise<{ data: Problem[] | null; error: unknown }> {\n if (!supabase) return { data: null, error: null };\n try {\n const { data, error } = await timed(\n \"fetch problems\",\n supabase\n .from(\"problems\")\n .select(\"*\")\n .eq(\"user_id\", userId),\n );\n if (error) return { data: null, error };\n return { data: (data as Record<string, unknown>[]).map(rowToProblem), error: null };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n async function upsertProblem(userId: string, problem: Problem): Promise<{ data: Problem | null; error: unknown }> {\n if (!supabase) return { data: null, error: null };\n try {\n const row = {\n ...toSnakeCase(problem),\n user_id: userId,\n };\n const { data, error } = await timed(\n \"upsert problem\",\n supabase\n .from(\"problems\")\n .upsert(row, { onConflict: \"id\" })\n .select()\n .single(),\n );\n if (error) return { data: null, error };\n return { data: rowToProblem(data as Record<string, unknown>), error: null };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n async function upsertProblems(userId: string, problems: Problem[]): Promise<{ data: Problem[] | null; error: unknown }> {\n if (!supabase || !problems.length) return { data: [], error: null };\n try {\n const rows = problems.map((p) => ({\n ...toSnakeCase(p),\n user_id: userId,\n }));\n const { data, error } = await timed(\n \"upsert problems\",\n supabase\n .from(\"problems\")\n .upsert(rows, { onConflict: \"id\" })\n .select(),\n );\n if (error) return { data: null, error };\n return { data: (data as Record<string, unknown>[]).map(rowToProblem), error: null };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n async function deleteProblem(problemId: string): Promise<{ data: null; error: unknown }> {\n if (!supabase) return { data: null, error: null };\n try {\n const { error } = await timed(\n \"delete problem\",\n supabase\n .from(\"problems\")\n .delete()\n .eq(\"id\", problemId),\n );\n return { data: null, error: error || null };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n async function deleteProblems(problemIds: string[]): Promise<{ error: unknown }> {\n if (!supabase || !problemIds.length) return { error: null };\n try {\n const { error } = await timed(\n \"delete problems\",\n supabase\n .from(\"problems\")\n .delete()\n .in(\"id\", problemIds),\n );\n return { error: error || null };\n } catch (err) {\n return { error: err };\n }\n }\n\n // ============================================================\n // PROBLEM TOMBSTONES\n // ============================================================\n\n async function fetchProblemTombstones(userId: string): Promise<{ data: ProblemTombstone[] | null; error: unknown }> {\n if (!supabase) return { data: null, error: null };\n try {\n const { data, error } = await timed(\n \"fetch problem tombstones\",\n supabase\n .from(\"problem_tombstones\")\n .select(\"problem_id, deleted_at\")\n .eq(\"user_id\", userId)\n .order(\"deleted_at\", { ascending: true }),\n );\n if (error) return { data: null, error };\n return {\n data: (data as ProblemTombstoneRow[]).map((row) => ({\n problemId: row.problem_id,\n deletedAt: row.deleted_at,\n })),\n error: null,\n };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n async function upsertProblemTombstone(userId: string, tombstone: ProblemTombstone): Promise<{ error: unknown }> {\n if (!supabase) return { error: null };\n try {\n const row: ProblemTombstoneRow = {\n user_id: userId,\n problem_id: tombstone.problemId,\n deleted_at: tombstone.deletedAt,\n updated_at: tombstone.deletedAt,\n };\n const { error } = await timed(\n \"upsert problem tombstone\",\n supabase\n .from(\"problem_tombstones\")\n .upsert(row, { onConflict: \"user_id,problem_id\" }),\n );\n return { error: error || null };\n } catch (err) {\n return { error: err };\n }\n }\n\n async function upsertProblemTombstones(userId: string, tombstones: ProblemTombstone[]): Promise<{ error: unknown }> {\n if (!supabase || !tombstones.length) return { error: null };\n try {\n const rows: ProblemTombstoneRow[] = tombstones.map((t) => ({\n user_id: userId,\n problem_id: t.problemId,\n deleted_at: t.deletedAt,\n updated_at: t.deletedAt,\n }));\n const { error } = await timed(\n \"upsert problem tombstones\",\n supabase\n .from(\"problem_tombstones\")\n .upsert(rows, { onConflict: \"user_id,problem_id\" }),\n );\n return { error: error || null };\n } catch (err) {\n return { error: err };\n }\n }\n\n // ============================================================\n // DATA RESET MARKER\n // ============================================================\n\n async function fetchDataReset(userId: string): Promise<{ data: DataReset | null; error: unknown }> {\n if (!supabase) return { data: null, error: null };\n try {\n const { data, error } = await timed(\n \"fetch data reset\",\n supabase\n .from(\"user_data_resets\")\n .select(\"reset_at\")\n .eq(\"user_id\", userId)\n .maybeSingle(),\n );\n if (error) return { data: null, error };\n if (!data) return { data: null, error: null };\n return { data: { resetAt: (data as DataResetRow).reset_at }, error: null };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n async function upsertDataReset(userId: string, reset: DataReset): Promise<{ error: unknown }> {\n if (!supabase) return { error: null };\n try {\n const row: DataResetRow = {\n user_id: userId,\n reset_at: reset.resetAt,\n updated_at: reset.resetAt,\n };\n const { error } = await timed(\n \"upsert data reset\",\n supabase\n .from(\"user_data_resets\")\n .upsert(row, { onConflict: \"user_id\" }),\n );\n return { error: error || null };\n } catch (err) {\n return { error: err };\n }\n }\n\n // ============================================================\n // REVIEW LOG\n // ============================================================\n\n async function fetchReviewLog(userId: string): Promise<{ data: ReviewLogEntry[] | null; error: unknown }> {\n if (!supabase) return { data: null, error: null };\n try {\n const { data, error } = await timed(\n \"fetch review log\",\n supabase\n .from(\"review_log\")\n .select(\"*\")\n .eq(\"user_id\", userId),\n );\n if (error) return { data: null, error };\n // Convert to the shape local storage uses: { date: \"2026-02-19\" }\n const log: ReviewLogEntry[] = (data as Array<{ review_date: string }>).map((row) => ({\n date: row.review_date,\n }));\n return { data: log, error: null };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n async function logReview(\n userId: string,\n problemId: string,\n oldConfidence: Confidence,\n newConfidence: Confidence,\n patterns: string[] = [],\n timestamp?: string,\n ): Promise<{ data: unknown; error: unknown }> {\n if (!supabase) return { data: null, error: null };\n try {\n const reviewTimestamp = timestamp ?? new Date().toISOString();\n const row: Record<string, unknown> = {\n user_id: userId,\n problem_id: problemId,\n old_confidence: oldConfidence,\n new_confidence: newConfidence,\n patterns,\n review_date: utcToLocalDateStr(reviewTimestamp) ?? todayStr(),\n created_at: reviewTimestamp,\n dedupe_key: reviewDedupeKey(userId, problemId, reviewTimestamp),\n };\n const { data, error } = await timed(\n \"log review\",\n supabase\n .from(\"review_log\")\n .upsert(row, { onConflict: \"dedupe_key\" })\n .select()\n .single(),\n );\n return { data, error: error || null };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n async function replaceReviewLog(\n userId: string,\n problemId: string,\n oldConfidence: Confidence,\n newConfidence: Confidence,\n patterns: string[],\n timestamp?: string,\n ): Promise<{ data: unknown; error: unknown }> {\n if (!supabase) return { data: null, error: null };\n try {\n const reviewTimestamp = timestamp ?? new Date().toISOString();\n const reviewDate = utcToLocalDateStr(reviewTimestamp) ?? todayStr();\n const dedupeKey = `leetcode-rating:${userId}:${problemId}:${reviewDate}`;\n\n const { error: deleteError } = await timed(\n \"delete same-day review log\",\n supabase\n .from(\"review_log\")\n .delete()\n .eq(\"user_id\", userId)\n .eq(\"problem_id\", problemId)\n .eq(\"review_date\", reviewDate),\n );\n if (deleteError) return { data: null, error: deleteError };\n\n const row: Record<string, unknown> = {\n user_id: userId,\n problem_id: problemId,\n old_confidence: oldConfidence,\n new_confidence: newConfidence,\n patterns,\n review_date: reviewDate,\n created_at: reviewTimestamp,\n dedupe_key: dedupeKey,\n };\n const { data, error } = await timed(\n \"replace review log\",\n supabase\n .from(\"review_log\")\n .upsert(row, { onConflict: \"dedupe_key\" })\n .select()\n .single(),\n );\n return { data, error: error || null };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n async function fetchReviewEvents(\n userId: string,\n since?: string,\n ): Promise<{ data: ReviewEvent[] | null; error: unknown }> {\n if (!supabase) return { data: null, error: null };\n try {\n const pageSize = 1000;\n const rows: ReviewEventRow[] = [];\n\n for (let from = 0; ; from += pageSize) {\n let query = supabase\n .from(\"review_log\")\n .select(\"problem_id, new_confidence, patterns, review_date, created_at\")\n .eq(\"user_id\", userId);\n\n if (since) {\n query = query.gte(\"created_at\", since);\n }\n\n const { data, error } = await timed(\n \"fetch review events\",\n query\n .order(\"created_at\", { ascending: true })\n .range(from, from + pageSize - 1),\n );\n if (error) return { data: null, error };\n\n const page = (data ?? []) as ReviewEventRow[];\n rows.push(...page);\n if (page.length < pageSize) break;\n }\n\n const events: ReviewEvent[] = rows.map((row) => ({\n date: row.review_date,\n problemId: row.problem_id,\n confidence: row.new_confidence,\n patterns: row.patterns ?? [],\n timestamp: row.created_at,\n }));\n return { data: events, error: null };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n async function batchInsertReviewLogs(userId: string, events: ReviewEvent[]): Promise<{ error: unknown }> {\n if (!supabase || !events.length) return { error: null };\n try {\n const rows = events.map((event) => ({\n user_id: userId,\n problem_id: event.problemId,\n old_confidence: null,\n new_confidence: event.confidence,\n patterns: event.patterns,\n review_date: event.date,\n created_at: event.timestamp,\n dedupe_key: reviewDedupeKey(userId, event.problemId, event.timestamp),\n }));\n const chunkSize = 500;\n for (let i = 0; i < rows.length; i += chunkSize) {\n const { error } = await timed(\n \"batch insert review logs\",\n supabase\n .from(\"review_log\")\n .upsert(rows.slice(i, i + chunkSize), { onConflict: \"dedupe_key\" }),\n );\n if (error) return { error };\n }\n return { error: null };\n } catch (err) {\n return { error: err };\n }\n }\n\n async function fetchProblemReviewHistory(\n userId: string,\n problemId: string,\n ): Promise<{ data: ReviewHistoryEntry[] | null; error: unknown }> {\n if (!supabase) return { data: null, error: null };\n try {\n const { data, error } = await timed(\n \"fetch problem review history\",\n supabase\n .from(\"review_log\")\n .select(\"review_date, new_confidence, created_at\")\n .eq(\"user_id\", userId)\n .eq(\"problem_id\", problemId)\n .order(\"created_at\", { ascending: false }),\n );\n if (error) return { data: null, error };\n const history: ReviewHistoryEntry[] = (\n data as Array<{ review_date: string; new_confidence: number; created_at: string }>\n ).map((row) => ({\n reviewDate: row.review_date,\n newConfidence: row.new_confidence,\n createdAt: row.created_at,\n }));\n return { data: history, error: null };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n // ============================================================\n // PREFERENCES\n // ============================================================\n\n async function fetchPreferences(userId: string): Promise<{ data: CloudPreferences | null; error: unknown }> {\n if (!supabase) return { data: null, error: null };\n try {\n const { data, error } = await timed(\n \"fetch preferences\",\n supabase\n .from(\"user_preferences\")\n .select(\"*\")\n .eq(\"user_id\", userId)\n .maybeSingle(),\n );\n if (error) return { data: null, error };\n if (!data) return { data: null, error: null };\n return { data: toCloudPreferences(data as Record<string, unknown>), error: null };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n async function upsertPreferences(\n userId: string,\n prefs: CloudPreferences,\n ): Promise<{ data: CloudPreferences | null; error: unknown }> {\n if (!supabase) return { data: null, error: null };\n try {\n const row = {\n user_id: userId,\n daily_review_goal: prefs.dailyReviewGoal,\n hide_patterns_during_review: prefs.hidePatternsDuringReview,\n enabled_extra_patterns: prefs.enabledExtraPatterns,\n updated_at: prefs.updatedAt ?? new Date().toISOString(),\n };\n const { data, error } = await timed(\n \"upsert preferences\",\n supabase\n .from(\"user_preferences\")\n .upsert(row, { onConflict: \"user_id\" })\n .select()\n .single(),\n );\n if (error) return { data: null, error };\n return { data: toCloudPreferences(data as Record<string, unknown>), error: null };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n // ============================================================\n // FEEDBACK\n // ============================================================\n\n async function submitFeedback(userId: string | null, message: string): Promise<{ error: unknown }> {\n if (!supabase) return { error: new Error(\"Supabase not configured\") };\n try {\n const { error } = await timed(\n \"submit feedback\",\n supabase\n .from(\"feedback\")\n .insert({\n user_id: userId || null,\n message: message.trim(),\n }),\n );\n return { error: error || null };\n } catch (err) {\n return { error: err };\n }\n }\n\n // ============================================================\n // BULK DELETE (clear all user data)\n // ============================================================\n\n async function deleteAllUserProblems(userId: string): Promise<{ error: unknown }> {\n if (!supabase) return { error: null };\n try {\n const { error } = await timed(\n \"delete all user problems\",\n supabase.from(\"problems\").delete().eq(\"user_id\", userId),\n );\n return { error: error || null };\n } catch (err) {\n return { error: err };\n }\n }\n\n async function deleteAllUserReviewLog(userId: string): Promise<{ error: unknown }> {\n if (!supabase) return { error: null };\n try {\n const { error } = await timed(\n \"delete all user review log\",\n supabase.from(\"review_log\").delete().eq(\"user_id\", userId),\n );\n return { error: error || null };\n } catch (err) {\n return { error: err };\n }\n }\n\n return {\n fetchProblems,\n upsertProblem,\n upsertProblems,\n deleteProblem,\n deleteProblems,\n fetchProblemTombstones,\n upsertProblemTombstone,\n upsertProblemTombstones,\n fetchDataReset,\n upsertDataReset,\n fetchReviewLog,\n logReview,\n replaceReviewLog,\n fetchReviewEvents,\n batchInsertReviewLogs,\n fetchProblemReviewHistory,\n fetchPreferences,\n upsertPreferences,\n submitFeedback,\n deleteAllUserProblems,\n deleteAllUserReviewLog,\n };\n}\n","import type { SupabaseClient } from \"@supabase/supabase-js\";\nimport {\n CLOUD_OPERATION_TIMEOUT_MS,\n LEETCODE_ACTIVITY_TIMEOUT_MS,\n withTimeout,\n} from \"../syncTimeout\";\nimport type {\n Difficulty,\n LeetCodeConnection,\n LeetCodeIgnoredImport,\n LeetCodeSubmission,\n LeetCodeSubmissionStatus,\n LeetCodeSyncStatus,\n LeetCodeSyncSummary,\n} from \"../types\";\n\nexport const LEETCODE_RECENT_ACTIVITY_LIMIT = 100;\n\nexport interface LeetCodeConnectionRow {\n user_id: string;\n leetcode_username: string;\n leetcode_display_name?: string | null;\n leetcode_avatar_url?: string | null;\n leetcode_total_solved?: number | null;\n last_seen_accepted_count?: number | null;\n last_synced_at?: string | null;\n last_sync_started_at?: string | null;\n sync_status: string;\n sync_error?: string | null;\n created_at?: string;\n updated_at?: string;\n}\n\nexport interface LeetCodeSubmissionRow {\n id: string;\n user_id: string;\n leetcode_username: string;\n leetcode_submission_id: string;\n title_slug: string;\n title: string;\n leetcode_number?: number | null;\n difficulty?: string | null;\n submitted_at: string;\n problem_id?: string | null;\n status: string;\n created_at?: string;\n updated_at?: string;\n}\n\nexport interface LeetCodeIgnoredImportRow {\n user_id: string;\n title_slug: string;\n leetcode_number?: number | null;\n ignored_at?: string;\n created_at?: string;\n}\n\nexport interface LeetCodeActivityFunctionResponse {\n connection: LeetCodeConnection | null;\n submissions: LeetCodeSubmission[];\n ignoredImports: LeetCodeIgnoredImport[];\n summary: LeetCodeSyncSummary;\n error?: string;\n}\n\nexport interface LeetCodeActivityResult {\n data: LeetCodeActivityFunctionResponse | null;\n error: string | null;\n}\n\nconst SAFE_ERROR_MESSAGES = new Set([\n \"Invalid LeetCode username.\",\n \"We could not see recent accepted submissions.\",\n \"LeetCode rate limited the request. Try again later.\",\n \"LeetCode activity sync failed. Try again later.\",\n \"Sign in to track LeetCode activity across devices.\",\n]);\n\nfunction isLeetCodeSyncStatus(value: string): value is LeetCodeSyncStatus {\n return [\"idle\", \"syncing\", \"synced\", \"error\", \"no_visible_submissions\", \"rate_limited\"].includes(value);\n}\n\nfunction isLeetCodeSubmissionStatus(value: string): value is LeetCodeSubmissionStatus {\n return [\"detected\", \"linked_existing\", \"pending\", \"imported\", \"ignored\", \"rated\"].includes(value);\n}\n\nfunction isDifficulty(value: string | null | undefined): value is Difficulty {\n return value === \"Easy\" || value === \"Medium\" || value === \"Hard\";\n}\n\nexport function normalizeLeetCodeUsername(input: string): string {\n const trimmed = input.trim();\n if (!trimmed) return \"\";\n\n try {\n const url = new URL(trimmed);\n if (!url.hostname.includes(\"leetcode.com\")) return trimmed;\n const parts = url.pathname.split(\"/\").filter(Boolean);\n if (parts[0] === \"u\" && parts[1]) return parts[1];\n if (parts[0] && ![\"problems\", \"contest\", \"discuss\"].includes(parts[0])) return parts[0];\n return \"\";\n } catch {\n return trimmed.replace(/^@/, \"\");\n }\n}\n\nexport function sanitizeLeetCodeActivityError(error: unknown): string {\n if (typeof error === \"string\" && SAFE_ERROR_MESSAGES.has(error)) return error;\n if (error && typeof error === \"object\" && \"message\" in error) {\n const message = String((error as { message?: unknown }).message ?? \"\");\n if (SAFE_ERROR_MESSAGES.has(message)) return message;\n if (/invalid leetcode username/i.test(message)) return \"Invalid LeetCode username.\";\n if (/rate limit|rate_limited|429/i.test(message)) return \"LeetCode rate limited the request. Try again later.\";\n // Keep private_or_empty for older Edge responses from before the status rename.\n if (/no visible|private_or_empty|no_visible_submissions/i.test(message)) {\n return \"We could not see recent accepted submissions.\";\n }\n }\n return \"LeetCode activity sync failed. Try again later.\";\n}\n\nexport function toLeetCodeConnection(row: LeetCodeConnectionRow): LeetCodeConnection {\n return {\n userId: row.user_id,\n leetcodeUsername: row.leetcode_username,\n leetcodeDisplayName: row.leetcode_display_name ?? null,\n leetcodeAvatarUrl: row.leetcode_avatar_url ?? null,\n leetcodeTotalSolved: row.leetcode_total_solved ?? null,\n lastSeenAcceptedCount: row.last_seen_accepted_count ?? null,\n lastSyncedAt: row.last_synced_at ?? null,\n lastSyncStartedAt: row.last_sync_started_at ?? null,\n syncStatus: isLeetCodeSyncStatus(row.sync_status) ? row.sync_status : \"error\",\n syncError: row.sync_error ?? null,\n createdAt: row.created_at,\n updatedAt: row.updated_at,\n };\n}\n\nexport function toLeetCodeSubmission(row: LeetCodeSubmissionRow): LeetCodeSubmission {\n return {\n id: row.id,\n userId: row.user_id,\n leetcodeUsername: row.leetcode_username,\n leetcodeSubmissionId: row.leetcode_submission_id,\n titleSlug: row.title_slug,\n title: row.title,\n leetcodeNumber: row.leetcode_number ?? null,\n difficulty: isDifficulty(row.difficulty) ? row.difficulty : null,\n submittedAt: row.submitted_at,\n problemId: row.problem_id ?? null,\n status: isLeetCodeSubmissionStatus(row.status) ? row.status : \"detected\",\n createdAt: row.created_at,\n updatedAt: row.updated_at,\n };\n}\n\nexport function toLeetCodeIgnoredImport(row: LeetCodeIgnoredImportRow): LeetCodeIgnoredImport {\n return {\n userId: row.user_id,\n titleSlug: row.title_slug,\n leetcodeNumber: row.leetcode_number ?? null,\n ignoredAt: row.ignored_at,\n createdAt: row.created_at,\n };\n}\n\nfunction normalizeFunctionResponse(data: unknown): LeetCodeActivityFunctionResponse {\n const payload = (data ?? {}) as Partial<LeetCodeActivityFunctionResponse>;\n return {\n connection: payload.connection ?? null,\n submissions: payload.submissions ?? [],\n ignoredImports: payload.ignoredImports ?? [],\n summary: payload.summary ?? {},\n error: payload.error,\n };\n}\n\nexport interface CreateLeetCodeActivityDataOptions {\n /** Platform Supabase client; null falls back to the no-op guard shapes. */\n supabase: SupabaseClient | null;\n /** Per-operation timeout for table reads (F-9). */\n timeoutMs?: number;\n /** Timeout for the sync-leetcode-activity Edge Function invoke. */\n invokeTimeoutMs?: number;\n}\n\nexport interface LeetCodeActivityData {\n fetchLeetCodeConnection(userId: string): Promise<{ data: LeetCodeConnection | null; error: unknown }>;\n fetchRecentLeetCodeSubmissions(\n userId: string,\n limit?: number,\n ): Promise<{ data: LeetCodeSubmission[] | null; error: unknown }>;\n fetchLeetCodeIgnoredImports(userId: string): Promise<{ data: LeetCodeIgnoredImport[] | null; error: unknown }>;\n connectLeetCodeActivity(username: string): Promise<LeetCodeActivityResult>;\n syncLeetCodeActivity(force?: boolean): Promise<LeetCodeActivityResult>;\n disconnectLeetCodeActivity(): Promise<LeetCodeActivityResult>;\n markLeetCodeImportImported(submissionDbId: string, problemId: string): Promise<LeetCodeActivityResult>;\n markLeetCodeImportLinkedExisting(submissionDbId: string, problemId: string): Promise<LeetCodeActivityResult>;\n ignoreLeetCodeImport(submissionDbId: string): Promise<LeetCodeActivityResult>;\n restoreIgnoredLeetCodeImport(titleSlug: string): Promise<LeetCodeActivityResult>;\n markLeetCodeSubmissionRated(submissionDbId: string, problemId: string): Promise<LeetCodeActivityResult>;\n}\n\nexport function createLeetCodeActivityData(options: CreateLeetCodeActivityDataOptions): LeetCodeActivityData {\n const {\n supabase,\n timeoutMs = CLOUD_OPERATION_TIMEOUT_MS,\n invokeTimeoutMs = LEETCODE_ACTIVITY_TIMEOUT_MS,\n } = options;\n\n const timed = <T>(operation: string, promise: PromiseLike<T>): Promise<T> =>\n withTimeout(promise, timeoutMs, operation);\n\n async function fetchLeetCodeConnection(\n userId: string,\n ): Promise<{ data: LeetCodeConnection | null; error: unknown }> {\n if (!supabase) return { data: null, error: null };\n try {\n const { data, error } = await timed(\n \"fetch LeetCode connection\",\n supabase\n .from(\"leetcode_connections\")\n .select(\"*\")\n .eq(\"user_id\", userId)\n .maybeSingle(),\n );\n if (error) return { data: null, error };\n return {\n data: data ? toLeetCodeConnection(data as LeetCodeConnectionRow) : null,\n error: null,\n };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n async function fetchRecentLeetCodeSubmissions(\n userId: string,\n limit = LEETCODE_RECENT_ACTIVITY_LIMIT,\n ): Promise<{ data: LeetCodeSubmission[] | null; error: unknown }> {\n if (!supabase) return { data: [], error: null };\n try {\n const { data, error } = await timed(\n \"fetch LeetCode submissions\",\n supabase\n .from(\"leetcode_submissions\")\n .select(\"*\")\n .eq(\"user_id\", userId)\n .order(\"submitted_at\", { ascending: false })\n .limit(limit),\n );\n if (error) return { data: null, error };\n return {\n data: ((data ?? []) as LeetCodeSubmissionRow[]).map(toLeetCodeSubmission),\n error: null,\n };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n async function fetchLeetCodeIgnoredImports(\n userId: string,\n ): Promise<{ data: LeetCodeIgnoredImport[] | null; error: unknown }> {\n if (!supabase) return { data: [], error: null };\n try {\n const { data, error } = await timed(\n \"fetch LeetCode ignored imports\",\n supabase\n .from(\"leetcode_ignored_imports\")\n .select(\"*\")\n .eq(\"user_id\", userId)\n .order(\"ignored_at\", { ascending: false }),\n );\n if (error) return { data: null, error };\n return {\n data: ((data ?? []) as LeetCodeIgnoredImportRow[]).map(toLeetCodeIgnoredImport),\n error: null,\n };\n } catch (err) {\n return { data: null, error: err };\n }\n }\n\n async function invokeLeetCodeActivity(body: Record<string, unknown>): Promise<LeetCodeActivityResult> {\n if (!supabase) {\n return { data: null, error: \"LeetCode activity sync failed. Try again later.\" };\n }\n try {\n const { data, error } = await withTimeout(\n supabase.functions.invoke(\"sync-leetcode-activity\", { body }),\n invokeTimeoutMs,\n \"sync LeetCode activity\",\n );\n if (error) return { data: null, error: sanitizeLeetCodeActivityError(error) };\n const normalized = normalizeFunctionResponse(data);\n if (normalized.error) {\n return { data: normalized, error: sanitizeLeetCodeActivityError(normalized.error) };\n }\n return { data: normalized, error: null };\n } catch (err) {\n return { data: null, error: sanitizeLeetCodeActivityError(err) };\n }\n }\n\n function connectLeetCodeActivity(username: string): Promise<LeetCodeActivityResult> {\n return invokeLeetCodeActivity({\n action: \"connect\",\n username: normalizeLeetCodeUsername(username),\n });\n }\n\n function syncLeetCodeActivity(force = false): Promise<LeetCodeActivityResult> {\n return invokeLeetCodeActivity({ action: \"sync\", force });\n }\n\n function disconnectLeetCodeActivity(): Promise<LeetCodeActivityResult> {\n return invokeLeetCodeActivity({ action: \"disconnect\" });\n }\n\n function markLeetCodeImportImported(\n submissionDbId: string,\n problemId: string,\n ): Promise<LeetCodeActivityResult> {\n return invokeLeetCodeActivity({ action: \"mark_imported\", submissionDbId, problemId });\n }\n\n function markLeetCodeImportLinkedExisting(\n submissionDbId: string,\n problemId: string,\n ): Promise<LeetCodeActivityResult> {\n return invokeLeetCodeActivity({ action: \"mark_linked_existing\", submissionDbId, problemId });\n }\n\n function ignoreLeetCodeImport(submissionDbId: string): Promise<LeetCodeActivityResult> {\n return invokeLeetCodeActivity({ action: \"ignore_import\", submissionDbId });\n }\n\n function restoreIgnoredLeetCodeImport(titleSlug: string): Promise<LeetCodeActivityResult> {\n return invokeLeetCodeActivity({ action: \"restore_ignored_import\", titleSlug });\n }\n\n function markLeetCodeSubmissionRated(\n submissionDbId: string,\n problemId: string,\n ): Promise<LeetCodeActivityResult> {\n return invokeLeetCodeActivity({ action: \"mark_rated\", submissionDbId, problemId });\n }\n\n return {\n fetchLeetCodeConnection,\n fetchRecentLeetCodeSubmissions,\n fetchLeetCodeIgnoredImports,\n connectLeetCodeActivity,\n syncLeetCodeActivity,\n disconnectLeetCodeActivity,\n markLeetCodeImportImported,\n markLeetCodeImportLinkedExisting,\n ignoreLeetCodeImport,\n restoreIgnoredLeetCodeImport,\n markLeetCodeSubmissionRated,\n };\n}\n","// Curated problem lists for PatternBank\n// Verified against leetcodeProblems.js (3,846 problems) on March 2, 2026\n// Pattern assignments use PatternBank's 18 patterns from constants.js\n\nimport { getProblemByNumber } from \"./problems\";\nimport type { LeetCodeProblem, ListSummary, ProblemList } from \"../types\";\n\n// ============================================================\n// SHARED PATTERN MAP\n// Each LC problem number → its primary PatternBank pattern\n// One source of truth — shared across all lists\n// ============================================================\n\nconst PATTERN_MAP: Record<number, string> = {\n // Hash Table\n 1: \"Hash Table\", // Two Sum\n 7: \"Hash Table\", // Reverse Integer\n 8: \"Hash Table\", // String to Integer (atoi)\n 9: \"Hash Table\", // Palindrome Number\n 13: \"Hash Table\", // Roman to Integer\n 14: \"Hash Table\", // Longest Common Prefix\n 31: \"Hash Table\", // Next Permutation\n 36: \"Hash Table\", // Valid Sudoku\n 41: \"Hash Table\", // First Missing Positive\n 49: \"Hash Table\", // Group Anagrams\n 67: \"Hash Table\", // Add Binary\n 128: \"Hash Table\", // Longest Consecutive Sequence\n 136: \"Hash Table\", // Single Number\n 169: \"Hash Table\", // Majority Element\n 189: \"Hash Table\", // Rotate Array\n 190: \"Hash Table\", // Reverse Bits\n 191: \"Hash Table\", // Number of 1 Bits\n 217: \"Hash Table\", // Contains Duplicate\n 238: \"Hash Table\", // Product of Array Except Self\n 242: \"Hash Table\", // Valid Anagram\n 268: \"Hash Table\", // Missing Number\n 271: \"Hash Table\", // Encode and Decode Strings\n 338: \"Hash Table\", // Counting Bits\n 347: \"Hash Table\", // Top K Frequent Elements\n 380: \"Hash Table\", // Insert Delete GetRandom O(1)\n 383: \"Hash Table\", // Ransom Note\n 409: \"Hash Table\", // Longest Palindrome\n 525: \"Hash Table\", // Contiguous Array\n 560: \"Hash Table\", // Subarray Sum Equals K\n 43: \"Hash Table\", // Multiply Strings\n 66: \"Hash Table\", // Plus One\n 202: \"Hash Table\", // Happy Number\n 371: \"Hash Table\", // Sum of Two Integers\n 2013: \"Hash Table\", // Detect Squares\n 27: \"Hash Table\", // Remove Element\n 122: \"Hash Table\", // Best Time to Buy And Sell Stock II\n 168: \"Hash Table\", // Excel Sheet Column Title\n 201: \"Hash Table\", // Bitwise AND of Numbers Range\n 229: \"Hash Table\", // Majority Element II\n 304: \"Hash Table\", // Range Sum Query 2D Immutable\n 705: \"Hash Table\", // Design HashSet\n 706: \"Hash Table\", // Design HashMap\n 867: \"Hash Table\", // Transpose Matrix\n 912: \"Hash Table\", // Sort an Array\n 1071: \"Hash Table\", // Greatest Common Divisor of Strings\n 1929: \"Hash Table\", // Concatenation of Array\n 2807: \"Hash Table\", // Insert Greatest Common Divisors in Linked List\n 3133: \"Hash Table\", // Minimum Array End\n\n // Two Pointers\n 11: \"Two Pointers\", // Container With Most Water\n 15: \"Two Pointers\", // 3Sum\n 16: \"Two Pointers\", // 3Sum Closest\n 42: \"Two Pointers\", // Trapping Rain Water\n 75: \"Two Pointers\", // Sort Colors\n 125: \"Two Pointers\", // Valid Palindrome\n 167: \"Two Pointers\", // Two Sum II\n 283: \"Two Pointers\", // Move Zeroes\n 287: \"Two Pointers\", // Find the Duplicate Number\n 977: \"Two Pointers\", // Squares of a Sorted Array\n 18: \"Two Pointers\", // 4Sum\n 26: \"Two Pointers\", // Remove Duplicates From Sorted Array\n 88: \"Two Pointers\", // Merge Sorted Array\n 344: \"Two Pointers\", // Reverse String\n 680: \"Two Pointers\", // Valid Palindrome II\n 881: \"Two Pointers\", // Boats to Save People\n 1768: \"Two Pointers\", // Merge Strings Alternately\n\n // Sliding Window\n 3: \"Sliding Window\", // Longest Substring Without Repeating Characters\n 76: \"Sliding Window\", // Minimum Window Substring\n 239: \"Sliding Window\", // Sliding Window Maximum\n 424: \"Sliding Window\", // Longest Repeating Character Replacement\n 438: \"Sliding Window\", // Find All Anagrams in a String\n 567: \"Sliding Window\", // Permutation in String\n 209: \"Sliding Window\", // Minimum Size Subarray Sum\n 219: \"Sliding Window\", // Contains Duplicate II\n\n // Binary Search\n 4: \"Binary Search\", // Median of Two Sorted Arrays\n 33: \"Binary Search\", // Search in Rotated Sorted Array\n 34: \"Binary Search\", // Find First and Last Position\n 35: \"Binary Search\", // Search Insert Position\n 50: \"Binary Search\", // Pow(x, n)\n 74: \"Binary Search\", // Search a 2D Matrix\n 153: \"Binary Search\", // Find Minimum in Rotated Sorted Array\n 240: \"Binary Search\", // Search a 2D Matrix II\n 278: \"Binary Search\", // First Bad Version\n 528: \"Binary Search\", // Random Pick with Weight\n 658: \"Binary Search\", // Find K Closest Elements\n 704: \"Binary Search\", // Binary Search\n 875: \"Binary Search\", // Koko Eating Bananas\n 981: \"Binary Search\", // Time Based Key-Value Store\n 69: \"Binary Search\", // Sqrt(x)\n 81: \"Binary Search\", // Search In Rotated Sorted Array II\n 374: \"Binary Search\", // Guess Number Higher Or Lower\n 410: \"Binary Search\", // Split Array Largest Sum\n 1011: \"Binary Search\", // Capacity to Ship Packages Within D Days\n 1095: \"Binary Search\", // Find in Mountain Array\n\n // Sorting\n 48: \"Sorting\", // Rotate Image\n 54: \"Sorting\", // Spiral Matrix\n 56: \"Sorting\", // Merge Intervals\n 57: \"Sorting\", // Insert Interval\n 73: \"Sorting\", // Set Matrix Zeroes\n 179: \"Sorting\", // Largest Number\n 252: \"Sorting\", // Meeting Rooms\n 253: \"Sorting\", // Meeting Rooms II\n 435: \"Sorting\", // Non-overlapping Intervals\n 759: \"Sorting\", // Employee Free Time\n 1851: \"Sorting\", // Minimum Interval to Include Each Query\n 2402: \"Sorting\", // Meeting Rooms III\n\n // Linked List\n 2: \"Linked List\", // Add Two Numbers\n 19: \"Linked List\", // Remove Nth Node From End of List\n 21: \"Linked List\", // Merge Two Sorted Lists\n 24: \"Linked List\", // Swap Nodes in Pairs\n 25: \"Linked List\", // Reverse Nodes in k-Group\n 61: \"Linked List\", // Rotate List\n 138: \"Linked List\", // Copy List with Random Pointer\n 141: \"Linked List\", // Linked List Cycle\n 142: \"Linked List\", // Linked List Cycle II\n 143: \"Linked List\", // Reorder List\n 146: \"Linked List\", // LRU Cache\n 148: \"Linked List\", // Sort List\n 160: \"Linked List\", // Intersection of Two Linked Lists\n 206: \"Linked List\", // Reverse Linked List\n 234: \"Linked List\", // Palindrome Linked List\n 328: \"Linked List\", // Odd Even Linked List\n 876: \"Linked List\", // Middle of the Linked List\n 92: \"Linked List\", // Reverse Linked List II\n 460: \"Linked List\", // LFU Cache\n 622: \"Linked List\", // Design Circular Queue\n\n // Stack\n 20: \"Stack\", // Valid Parentheses\n 84: \"Stack\", // Largest Rectangle in Histogram\n 150: \"Stack\", // Evaluate Reverse Polish Notation\n 155: \"Stack\", // Min Stack\n 224: \"Stack\", // Basic Calculator\n 227: \"Stack\", // Basic Calculator II\n 232: \"Stack\", // Implement Queue using Stacks\n 394: \"Stack\", // Decode String\n 735: \"Stack\", // Asteroid Collision\n 739: \"Stack\", // Daily Temperatures\n 844: \"Stack\", // Backspace String Compare\n 895: \"Stack\", // Maximum Frequency Stack\n 853: \"Stack\", // Car Fleet\n 71: \"Stack\", // Simplify Path\n 225: \"Stack\", // Implement Stack Using Queues\n 682: \"Stack\", // Baseball Game\n 901: \"Stack\", // Online Stock Span\n\n // Tree\n 94: \"Tree\", // Binary Tree Inorder Traversal\n 98: \"Tree\", // Validate Binary Search Tree\n 100: \"Tree\", // Same Tree\n 101: \"Tree\", // Symmetric Tree\n 104: \"Tree\", // Maximum Depth of Binary Tree\n 105: \"Tree\", // Construct Binary Tree from Preorder and Inorder\n 108: \"Tree\", // Convert Sorted Array to Binary Search Tree\n 110: \"Tree\", // Balanced Binary Tree\n 113: \"Tree\", // Path Sum II\n 114: \"Tree\", // Flatten Binary Tree to Linked List\n 124: \"Tree\", // Binary Tree Maximum Path Sum\n 226: \"Tree\", // Invert Binary Tree\n 230: \"Tree\", // Kth Smallest Element in a BST\n 235: \"Tree\", // Lowest Common Ancestor of a BST\n 236: \"Tree\", // Lowest Common Ancestor of a Binary Tree\n 285: \"Tree\", // Inorder Successor in BST\n 297: \"Tree\", // Serialize and Deserialize Binary Tree\n 437: \"Tree\", // Path Sum III\n 543: \"Tree\", // Diameter of Binary Tree\n 572: \"Tree\", // Subtree of Another Tree\n 1448: \"Tree\", // Count Good Nodes in Binary Tree\n 144: \"Tree\", // Binary Tree Preorder Traversal\n 145: \"Tree\", // Binary Tree Postorder Traversal\n 337: \"Tree\", // House Robber III\n 427: \"Tree\", // Construct Quad Tree\n 450: \"Tree\", // Delete Node in a BST\n 701: \"Tree\", // Insert into a Binary Search Tree\n 1325: \"Tree\", // Delete Leaves With a Given Value\n\n // BFS\n 102: \"BFS\", // Binary Tree Level Order Traversal\n 103: \"BFS\", // Binary Tree Zigzag Level Order Traversal\n 127: \"BFS\", // Word Ladder\n 199: \"BFS\", // Binary Tree Right Side View\n 200: \"BFS\", // Number of Islands\n 310: \"BFS\", // Minimum Height Trees\n 417: \"BFS\", // Pacific Atlantic Water Flow\n 542: \"BFS\", // 01 Matrix\n 662: \"BFS\", // Maximum Width of Binary Tree\n 733: \"BFS\", // Flood Fill\n 815: \"BFS\", // Bus Routes\n 863: \"BFS\", // All Nodes Distance K in Binary Tree\n 994: \"BFS\", // Rotting Oranges\n 1197: \"BFS\", // Minimum Knight Moves\n 1730: \"BFS\", // Shortest Path to Get Food\n 286: \"BFS\", // Walls and Gates\n 695: \"BFS\", // Max Area of Island\n 463: \"BFS\", // Island Perimeter\n 752: \"BFS\", // Open The Lock\n\n // DFS\n 329: \"DFS\", // Longest Increasing Path in a Matrix\n\n // Heap\n 23: \"Heap\", // Merge k Sorted Lists\n 215: \"Heap\", // Kth Largest Element in an Array\n 295: \"Heap\", // Find Median from Data Stream\n 362: \"Heap\", // Design Hit Counter\n 621: \"Heap\", // Task Scheduler\n 632: \"Heap\", // Smallest Range Covering Elements from K Lists\n 692: \"Heap\", // Top K Frequent Words\n 973: \"Heap\", // K Closest Points to Origin\n 355: \"Heap\", // Design Twitter\n 703: \"Heap\", // Kth Largest Element in a Stream\n 1046: \"Heap\", // Last Stone Weight\n 502: \"Heap\", // IPO\n 767: \"Heap\", // Reorganize String\n 1094: \"Heap\", // Car Pooling\n 1405: \"Heap\", // Longest Happy String\n 1834: \"Heap\", // Single Threaded CPU\n\n // Greedy\n 45: \"Greedy\", // Jump Game II\n 55: \"Greedy\", // Jump Game\n 121: \"Greedy\", // Best Time to Buy and Sell Stock\n 134: \"Greedy\", // Gas Station\n 763: \"Greedy\", // Partition Labels\n 678: \"Greedy\", // Valid Parenthesis String\n 846: \"Greedy\", // Hand of Straights\n 1899: \"Greedy\", // Merge Triplets to Form Target Triplet\n 135: \"Greedy\", // Candy\n 649: \"Greedy\", // Dota2 Senate\n 860: \"Greedy\", // Lemonade Change\n 918: \"Greedy\", // Maximum Sum Circular Subarray\n 978: \"Greedy\", // Longest Turbulent Subarray\n 1871: \"Greedy\", // Jump Game VII\n\n // Backtracking\n 17: \"Backtracking\", // Letter Combinations of a Phone Number\n 22: \"Backtracking\", // Generate Parentheses\n 37: \"Backtracking\", // Sudoku Solver\n 39: \"Backtracking\", // Combination Sum\n 46: \"Backtracking\", // Permutations\n 51: \"Backtracking\", // N-Queens\n 78: \"Backtracking\", // Subsets\n 79: \"Backtracking\", // Word Search\n 131: \"Backtracking\", // Palindrome Partitioning\n 40: \"Backtracking\", // Combination Sum II\n 90: \"Backtracking\", // Subsets II\n 47: \"Backtracking\", // Permutations II\n 52: \"Backtracking\", // N Queens II\n 77: \"Backtracking\", // Combinations\n 140: \"Backtracking\", // Word Break II\n 473: \"Backtracking\", // Matchsticks to Square\n 698: \"Backtracking\", // Partition to K Equal Sum Subsets\n 1863: \"Backtracking\", // Sum of All Subsets XOR Total\n\n // Graph\n 133: \"Graph\", // Clone Graph\n 207: \"Graph\", // Course Schedule\n 210: \"Graph\", // Course Schedule II\n 261: \"Graph\", // Graph Valid Tree\n 269: \"Graph\", // Alien Dictionary\n 323: \"Graph\", // Number of Connected Components\n 336: \"Graph\", // Palindrome Pairs\n 721: \"Graph\", // Accounts Merge\n 787: \"Graph\", // Cheapest Flights Within K Stops\n 130: \"Graph\", // Surrounded Regions\n 332: \"Graph\", // Reconstruct Itinerary\n 684: \"Graph\", // Redundant Connection\n 743: \"Graph\", // Network Delay Time\n 778: \"Graph\", // Swim in Rising Water\n 1584: \"Graph\", // Min Cost to Connect All Points\n 399: \"Graph\", // Evaluate Division\n 953: \"Graph\", // Verifying An Alien Dictionary\n 997: \"Graph\", // Find the Town Judge\n 1462: \"Graph\", // Course Schedule IV\n 1489: \"Graph\", // Find Critical and Pseudo Critical Edges in MST\n 1631: \"Graph\", // Path with Minimum Effort\n 2392: \"Graph\", // Build a Matrix With Conditions\n 2709: \"Graph\", // Greatest Common Divisor Traversal\n\n // Union Find\n // (none exclusively in these lists)\n\n // Trie\n 208: \"Trie\", // Implement Trie (Prefix Tree)\n 211: \"Trie\", // Design Add and Search Words\n 212: \"Trie\", // Word Search II\n 588: \"Trie\", // Design In-Memory File System\n 2707: \"Trie\", // Extra Characters in a String\n\n // DP\n 5: \"DP\", // Longest Palindromic Substring\n 32: \"DP\", // Longest Valid Parentheses\n 53: \"DP\", // Maximum Subarray\n 62: \"DP\", // Unique Paths\n 64: \"DP\", // Minimum Path Sum\n 70: \"DP\", // Climbing Stairs\n 72: \"DP\", // Edit Distance\n 91: \"DP\", // Decode Ways\n 118: \"DP\", // Pascal's Triangle\n 139: \"DP\", // Word Break\n 152: \"DP\", // Maximum Product Subarray\n 198: \"DP\", // House Robber\n 213: \"DP\", // House Robber II\n 221: \"DP\", // Maximal Square\n 279: \"DP\", // Perfect Squares\n 300: \"DP\", // Longest Increasing Subsequence\n 322: \"DP\", // Coin Change\n 377: \"DP\", // Combination Sum IV\n 416: \"DP\", // Partition Equal Subset Sum\n 1143: \"DP\", // Longest Common Subsequence\n 1235: \"DP\", // Maximum Profit in Job Scheduling\n 10: \"DP\", // Regular Expression Matching\n 97: \"DP\", // Interleaving String\n 115: \"DP\", // Distinct Subsequences\n 309: \"DP\", // Best Time to Buy and Sell Stock with Cooldown\n 312: \"DP\", // Burst Balloons\n 494: \"DP\", // Target Sum\n 518: \"DP\", // Coin Change II\n 647: \"DP\", // Palindromic Substrings\n 746: \"DP\", // Min Cost Climbing Stairs\n 63: \"DP\", // Unique Paths II\n 343: \"DP\", // Integer Break\n 877: \"DP\", // Stone Game\n 1049: \"DP\", // Last Stone Weight II\n 1137: \"DP\", // N-th Tribonacci Number\n 1140: \"DP\", // Stone Game II\n 1406: \"DP\", // Stone Game III\n};\n\n// ============================================================\n// LIST DEFINITIONS\n// ============================================================\n\nconst PROBLEM_LISTS: ProblemList[] = [\n {\n id: \"neetcode75\",\n name: \"NeetCode 75\",\n nameZh: \"NeetCode 75\",\n description: \"The essential 75 interview problems, curated by NeetCode. The foundation of NeetCode 150.\",\n source: \"https://neetcode.io/practice/neetcode75\",\n numbers: [\n 1, 3, 5, 11, 15, 19, 20, 21, 23, 33, 39, 48, 49, 53, 54, 55,\n 56, 57, 62, 70, 73, 76, 79, 91, 98, 100, 102, 104, 105, 121, 124,\n 125, 128, 133, 139, 141, 143, 152, 153, 190, 191, 198, 200, 206,\n 207, 208, 211, 212, 213, 217, 226, 230, 235, 238, 242, 252, 253,\n 261, 268, 269, 271, 295, 297, 300, 322, 323, 338, 347, 371, 417,\n 424, 435, 572, 647, 1143,\n ],\n },\n {\n id: \"neetcode150\",\n name: \"NeetCode 150\",\n nameZh: \"NeetCode 150\",\n description: \"NeetCode 75 + 75 more problems. Organized by pattern with NeetCode video explanations.\",\n source: \"https://neetcode.io/practice/neetcode150\",\n numbers: [\n 1, 2, 3, 4, 5, 7, 10, 11, 15, 17, 19, 20, 21, 22, 23, 25, 33,\n 36, 39, 40, 42, 43, 45, 46, 48, 49, 50, 51, 53, 54, 55, 56, 57,\n 62, 66, 70, 72, 73, 74, 76, 78, 79, 84, 90, 91, 97, 98, 100,\n 102, 104, 105, 110, 115, 121, 124, 125, 127, 128, 130, 131, 133,\n 134, 136, 138, 139, 141, 143, 146, 150, 152, 153, 155, 167, 190,\n 191, 198, 199, 200, 202, 206, 207, 208, 210, 211, 212, 213, 215,\n 217, 226, 230, 235, 238, 239, 242, 252, 253, 261, 268, 269, 271,\n 286, 287, 295, 297, 300, 309, 312, 322, 323, 329, 332, 338, 347,\n 355, 371, 416, 417, 424, 435, 494, 518, 543, 567, 572, 621, 647,\n 678, 684, 695, 703, 704, 739, 743, 746, 763, 778, 787, 846, 853,\n 875, 973, 981, 994, 1046, 1143, 1448, 1584, 1851, 1899, 2013,\n ],\n },\n {\n id: \"neetcode250\",\n name: \"NeetCode 250\",\n nameZh: \"NeetCode 250\",\n description: \"NeetCode 150 + 100 more problems. Comprehensive interview prep across 18 patterns.\",\n source: \"https://neetcode.io/practice/neetcode250\",\n numbers: [\n 1, 2, 3, 4, 5, 7, 10, 11, 13, 14, 15, 17, 18, 19, 20,\n 21, 22, 23, 25, 26, 27, 33, 35, 36, 39, 40, 41, 42, 43, 45,\n 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 62, 63, 64,\n 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 81, 84,\n 88, 90, 91, 92, 94, 97, 98, 100, 102, 104, 105, 110, 115, 121, 122,\n 124, 125, 127, 128, 130, 131, 133, 134, 135, 136, 138, 139, 140, 141, 143,\n 144, 145, 146, 150, 152, 153, 155, 167, 168, 169, 189, 190, 191, 198, 199,\n 200, 201, 202, 206, 207, 208, 209, 210, 211, 212, 213, 215, 217, 219, 225,\n 226, 229, 230, 232, 235, 238, 239, 242, 252, 253, 261, 268, 269, 271, 279,\n 286, 287, 295, 297, 300, 304, 309, 310, 312, 322, 323, 329, 332, 337, 338,\n 343, 344, 347, 355, 371, 374, 377, 394, 399, 410, 416, 417, 424, 427, 435,\n 450, 460, 463, 473, 494, 502, 518, 543, 560, 567, 572, 621, 622, 647, 649,\n 658, 678, 680, 682, 684, 695, 698, 701, 703, 704, 705, 706, 721, 735, 739,\n 743, 746, 752, 763, 767, 778, 787, 846, 853, 860, 867, 875, 877, 881, 895,\n 901, 912, 918, 953, 973, 978, 981, 994, 997, 1011, 1046, 1049, 1071, 1094, 1095,\n 1137, 1140, 1143, 1325, 1405, 1406, 1448, 1462, 1489, 1584, 1631, 1768, 1834, 1851, 1863,\n 1871, 1899, 1929, 2013, 2392, 2402, 2707, 2709, 2807, 3133,\n ],\n },\n {\n id: \"grind75\",\n name: \"Grind 75\",\n nameZh: \"Grind 75\",\n description: \"Modernized Blind 75 by the same author, with a structured weekly study plan.\",\n source: \"https://www.techinterviewhandbook.org/grind75/\",\n numbers: [\n 1, 3, 5, 8, 9, 13, 14, 15, 20, 21, 33, 39, 46, 53, 54, 56, 57,\n 62, 67, 70, 75, 78, 98, 100, 101, 102, 104, 105, 108, 110, 121,\n 125, 133, 136, 139, 141, 150, 155, 169, 190, 191, 199, 200, 206,\n 207, 208, 217, 226, 232, 234, 235, 236, 238, 242, 252, 268, 278,\n 283, 322, 338, 383, 409, 416, 542, 543, 572, 704, 721, 733, 844,\n 876, 973, 977, 981, 994,\n ],\n },\n {\n id: \"grind169\",\n name: \"Grind 169\",\n nameZh: \"Grind 169\",\n description: \"Extended Grind 75 with 94 additional problems for thorough interview coverage.\",\n source: \"https://www.techinterviewhandbook.org/grind75/\",\n numbers: [\n 1, 2, 3, 4, 5, 7, 8, 9, 11, 13, 14, 15, 16, 17, 19, 20, 21, 22,\n 23, 24, 25, 31, 32, 33, 36, 37, 39, 41, 42, 46, 48, 49, 50, 51,\n 53, 54, 55, 56, 57, 61, 62, 67, 70, 73, 74, 75, 76, 78, 79, 84,\n 91, 98, 100, 101, 102, 103, 104, 105, 108, 110, 113, 121, 124, 125,\n 127, 128, 133, 134, 136, 139, 141, 143, 146, 148, 150, 152, 153,\n 155, 169, 179, 189, 190, 191, 198, 199, 200, 206, 207, 208, 210,\n 211, 212, 215, 217, 221, 224, 226, 227, 230, 232, 234, 235, 236,\n 238, 239, 242, 252, 253, 261, 268, 269, 271, 278, 283, 285, 287,\n 295, 297, 300, 310, 322, 323, 328, 329, 336, 338, 362, 377, 380,\n 383, 394, 409, 416, 417, 424, 435, 437, 438, 525, 528, 542, 543,\n 560, 572, 588, 621, 632, 658, 662, 692, 704, 721, 733, 735, 739,\n 759, 787, 815, 844, 863, 876, 895, 973, 977, 981, 994, 1197, 1235,\n 1730,\n ],\n },\n {\n id: \"hot100\",\n name: \"LeetCode Hot 100\",\n nameZh: \"力扣热题 100\",\n description: \"The 100 most popular problems on LeetCode — a must-do list in the Chinese tech community.\",\n source: \"https://leetcode.cn/studyplan/top-100-liked/\",\n numbers: [\n 1, 2, 3, 4, 5, 11, 15, 17, 19, 20, 21, 22, 23, 24, 25, 31, 32,\n 33, 34, 35, 39, 41, 42, 45, 46, 48, 49, 51, 53, 54, 55, 56, 62,\n 64, 70, 72, 73, 74, 75, 76, 78, 79, 84, 94, 98, 101, 102, 104,\n 105, 108, 114, 118, 121, 124, 128, 131, 136, 138, 139, 141, 142,\n 146, 148, 152, 153, 155, 160, 169, 189, 198, 199, 200, 206, 207,\n 208, 215, 226, 230, 234, 236, 238, 239, 240, 279, 283, 287, 295,\n 300, 322, 347, 394, 416, 437, 438, 543, 560, 739, 763, 994, 1143,\n ],\n },\n];\n\n// ============================================================\n// PUBLIC API\n// ============================================================\n\n/**\n * Get all available lists with computed counts.\n */\nexport function getListSummaries(existingNumbers: Set<number>): ListSummary[] {\n return PROBLEM_LISTS.map((list) => {\n const validNumbers = list.numbers.filter((n) => getProblemByNumber(n));\n const existing = validNumbers.filter((n) => existingNumbers.has(n)).length;\n return {\n id: list.id,\n name: list.name,\n nameZh: list.nameZh,\n description: list.description,\n total: validNumbers.length,\n existing,\n newCount: validNumbers.length - existing,\n };\n });\n}\n\n/**\n * Get the problems to add for a specific list.\n * Returns only problems NOT already in the user's library.\n * Each problem gets its pattern from PATTERN_MAP.\n */\nexport function getListProblems(\n listId: string,\n existingNumbers: Set<number>\n): { lcProblems: LeetCodeProblem[]; patternMap: Map<number, string[]> } {\n const list = PROBLEM_LISTS.find((l) => l.id === listId);\n if (!list) return { lcProblems: [], patternMap: new Map() };\n\n const lcProblems: LeetCodeProblem[] = [];\n const patternMap = new Map<number, string[]>();\n\n for (const num of list.numbers) {\n // Skip if already in library\n if (existingNumbers.has(num)) continue;\n\n // Look up in our LC database\n const problem = getProblemByNumber(num);\n if (!problem) continue; // Safety: skip if not in DB\n\n lcProblems.push(problem);\n\n // Assign pattern if we have one\n const pattern = PATTERN_MAP[num];\n if (pattern) {\n patternMap.set(num, [pattern]);\n }\n }\n\n return { lcProblems, patternMap };\n}\n\nexport function getPatternsForProblemNumber(problemNumber: number | null | undefined): string[] {\n if (typeof problemNumber !== \"number\") return [];\n const pattern = PATTERN_MAP[problemNumber];\n return pattern ? [pattern] : [];\n}\n","import { addDays, generateId, todayStr, utcToLocalDateStr } from \"../dateHelpers\";\nimport { getIntervalDays } from \"../spacedRepetition\";\nimport { buildLeetCodeUrl } from \"./problems\";\nimport { getPatternsForProblemNumber } from \"./problemLists\";\nimport type {\n Confidence,\n LeetCodeIgnoredImport,\n LeetCodeSubmission,\n PendingLeetCodeImport,\n Problem,\n ReviewEvent,\n TodayLeetCodeItem,\n} from \"../types\";\n\ninterface BuildPendingLeetCodeImportsArgs {\n submissions: LeetCodeSubmission[];\n problems: Problem[];\n ignoredImports: LeetCodeIgnoredImport[];\n reviewEvents?: ReviewEvent[];\n today?: string;\n}\n\ninterface BuildProblemOptions {\n today?: string;\n now?: string;\n autoExpired?: boolean;\n}\n\nfunction minTimestamp(a?: string, b?: string): string | undefined {\n if (!a) return b;\n if (!b) return a;\n return a <= b ? a : b;\n}\n\nfunction isPendingSubmission(submission: LeetCodeSubmission): boolean {\n return submission.status === \"detected\" && !submission.problemId;\n}\n\nfunction findExistingProblem(submission: LeetCodeSubmission, problems: Problem[]): Problem | null {\n if (submission.problemId) {\n const byId = problems.find((problem) => problem.id === submission.problemId);\n if (byId) return byId;\n }\n if (submission.leetcodeNumber === null) return null;\n return problems.find((problem) => problem.leetcodeNumber === submission.leetcodeNumber) ?? null;\n}\n\nfunction getLinkedStatusLabel(kind: \"linked_existing\" | \"imported\" | \"rated\", problem: Problem | null, today: string) {\n if (kind === \"imported\") return \"Imported\";\n if (kind === \"rated\") return \"Rated\";\n if (\n problem\n && !problem.excludeFromReview\n && problem.lastReviewed !== today\n && problem.nextReviewDate <= today\n ) {\n return \"Review due\";\n }\n return \"In library\";\n}\n\nfunction isExpired(firstSeenAt: string | undefined, today: string): boolean {\n const firstSeenDate = utcToLocalDateStr(firstSeenAt);\n return !!firstSeenDate && firstSeenDate < today;\n}\n\nfunction toConfidence(value: number | null | undefined): Confidence | null {\n return value === 1 || value === 2 || value === 3 || value === 4 || value === 5 ? value : null;\n}\n\nfunction buildLatestReviewConfidenceByProblem(reviewEvents: ReviewEvent[] | undefined, today: string): Map<string, Confidence> {\n const latest = new Map<string, ReviewEvent>();\n for (const event of reviewEvents ?? []) {\n if (event.date !== today) continue;\n const current = latest.get(event.problemId);\n if (!current || event.timestamp > current.timestamp) {\n latest.set(event.problemId, event);\n }\n }\n\n const confidenceByProblem = new Map<string, Confidence>();\n for (const [problemId, event] of latest.entries()) {\n const confidence = toConfidence(event.confidence);\n if (confidence !== null) {\n confidenceByProblem.set(problemId, confidence);\n }\n }\n return confidenceByProblem;\n}\n\nfunction wasProblemReviewedToday(\n problem: Pick<Problem, \"id\" | \"lastReviewed\"> | null,\n reviewEvents: ReviewEvent[] | undefined,\n today: string,\n): boolean {\n if (!problem) return false;\n if (problem.lastReviewed === today) return true;\n return (reviewEvents ?? []).some((event) => event.problemId === problem.id && event.date === today);\n}\n\nexport function buildPendingLeetCodeImports({\n submissions,\n problems,\n ignoredImports,\n today = todayStr(),\n}: BuildPendingLeetCodeImportsArgs): PendingLeetCodeImport[] {\n const ignoredSlugs = new Set(ignoredImports.map((item) => item.titleSlug));\n const bySlug = new Map<string, PendingLeetCodeImport>();\n\n for (const submission of submissions) {\n if (!isPendingSubmission(submission)) continue;\n if (ignoredSlugs.has(submission.titleSlug)) continue;\n if (findExistingProblem(submission, problems)) continue;\n\n const existing = bySlug.get(submission.titleSlug);\n const firstSeenAt = minTimestamp(existing?.firstSeenAt, submission.createdAt);\n const candidate: PendingLeetCodeImport = {\n submissionDbId: submission.id,\n leetcodeSubmissionId: submission.leetcodeSubmissionId,\n titleSlug: submission.titleSlug,\n title: submission.title,\n leetcodeNumber: submission.leetcodeNumber,\n difficulty: submission.difficulty,\n submittedAt: submission.submittedAt,\n firstSeenAt,\n suggestedPatterns: getPatternsForProblemNumber(submission.leetcodeNumber),\n expired: isExpired(firstSeenAt, today),\n };\n\n if (!existing || submission.submittedAt > existing.submittedAt) {\n bySlug.set(submission.titleSlug, candidate);\n } else {\n bySlug.set(submission.titleSlug, {\n ...existing,\n firstSeenAt,\n expired: isExpired(firstSeenAt, today),\n });\n }\n }\n\n return Array.from(bySlug.values()).sort((a, b) => b.submittedAt.localeCompare(a.submittedAt));\n}\n\nexport function buildTodayLeetCodeItems({\n submissions,\n problems,\n ignoredImports,\n reviewEvents,\n today = todayStr(),\n}: BuildPendingLeetCodeImportsArgs): TodayLeetCodeItem[] {\n const ignoredSlugs = new Set(ignoredImports.map((item) => item.titleSlug));\n const bySlug = new Map<string, TodayLeetCodeItem>();\n const reviewedConfidenceByProblem = buildLatestReviewConfidenceByProblem(reviewEvents, today);\n\n for (const submission of submissions) {\n if (utcToLocalDateStr(submission.submittedAt) !== today) continue;\n if (submission.status === \"ignored\") continue;\n if (submission.status === \"imported\" || submission.status === \"rated\") continue;\n if (ignoredSlugs.has(submission.titleSlug)) continue;\n\n const existing = bySlug.get(submission.titleSlug);\n const matchedProblem = findExistingProblem(submission, problems);\n if (wasProblemReviewedToday(matchedProblem, reviewEvents, today)) continue;\n const suggestedPatterns = matchedProblem?.patterns.length\n ? matchedProblem.patterns\n : getPatternsForProblemNumber(submission.leetcodeNumber);\n const knownKind = submission.status === \"linked_existing\" && matchedProblem\n ? submission.status\n : submission.status === \"detected\" && matchedProblem\n ? \"linked_existing\"\n : null;\n\n let candidate: TodayLeetCodeItem | null = null;\n if (knownKind) {\n candidate = {\n kind: knownKind,\n submissionDbId: submission.id,\n leetcodeSubmissionId: submission.leetcodeSubmissionId,\n titleSlug: submission.titleSlug,\n title: submission.title,\n leetcodeNumber: submission.leetcodeNumber,\n difficulty: submission.difficulty,\n submittedAt: submission.submittedAt,\n suggestedPatterns,\n matchedProblemId: matchedProblem?.id ?? submission.problemId ?? null,\n status: knownKind,\n statusLabel: getLinkedStatusLabel(knownKind, matchedProblem, today),\n confidence: matchedProblem?.confidence ?? null,\n reviewedTodayConfidence: matchedProblem ? reviewedConfidenceByProblem.get(matchedProblem.id) ?? null : null,\n };\n } else if (isPendingSubmission(submission)) {\n const pendingExisting = existing?.kind === \"pending_import\" ? existing : undefined;\n const firstSeenAt = minTimestamp(pendingExisting?.firstSeenAt, submission.createdAt);\n candidate = {\n kind: \"pending_import\",\n status: \"detected\",\n matchedProblemId: null,\n statusLabel: \"Rate to add\",\n submissionDbId: submission.id,\n leetcodeSubmissionId: submission.leetcodeSubmissionId,\n titleSlug: submission.titleSlug,\n title: submission.title,\n leetcodeNumber: submission.leetcodeNumber,\n difficulty: submission.difficulty,\n submittedAt: submission.submittedAt,\n firstSeenAt,\n suggestedPatterns,\n expired: isExpired(firstSeenAt, today),\n };\n }\n\n if (!candidate) continue;\n\n if (!existing || submission.submittedAt > existing.submittedAt) {\n bySlug.set(submission.titleSlug, candidate);\n } else if (existing.kind === \"pending_import\" && candidate.kind === \"pending_import\") {\n const firstSeenAt = minTimestamp(existing.firstSeenAt, candidate.firstSeenAt);\n bySlug.set(submission.titleSlug, {\n ...existing,\n firstSeenAt,\n expired: isExpired(firstSeenAt, today),\n });\n }\n }\n\n return Array.from(bySlug.values()).sort((a, b) => b.submittedAt.localeCompare(a.submittedAt));\n}\n\nexport function buildProblemFromLeetCodeImport(\n item: PendingLeetCodeImport,\n confidence: Confidence,\n options: BuildProblemOptions = {},\n): Problem {\n const today = options.today ?? todayStr();\n const now = options.now ?? new Date().toISOString();\n const autoExpired = options.autoExpired ?? false;\n\n return {\n id: generateId(),\n title: item.title,\n leetcodeNumber: item.leetcodeNumber,\n url: buildLeetCodeUrl(item.titleSlug),\n difficulty: item.difficulty ?? \"Medium\",\n patterns: item.suggestedPatterns,\n confidence,\n notes: \"\",\n excludeFromReview: false,\n dateAdded: today,\n lastReviewed: null,\n nextReviewDate: autoExpired ? today : addDays(today, getIntervalDays(confidence)),\n fiveStarStreak: 0,\n updatedAt: now,\n };\n}\n","import type { Confidence } from \"../types\";\nimport type { LeetCodeActivityResult } from \"./activityData\";\nimport type { LeetCodeCompletionIdentity } from \"./todayCompletions\";\n\nexport interface RateLeetCodeReviewLocallyFirstParams {\n submissionDbId: string;\n problemId: string;\n confidence: Confidence;\n completionSource?: LeetCodeCompletionIdentity;\n onReview: (problemId: string, confidence: Confidence, options?: { replaceSameDayReviewEvent?: boolean }) => void;\n markRated: (submissionDbId: string, problemId: string) => Promise<LeetCodeActivityResult>;\n onLocalReviewRecorded?: (source: LeetCodeCompletionIdentity & { submissionDbId: string }, problemId: string) => void;\n onError?: (error: string) => void;\n}\n\nexport async function rateLeetCodeReviewLocallyFirst({\n submissionDbId,\n problemId,\n confidence,\n completionSource,\n onReview,\n markRated,\n onLocalReviewRecorded,\n onError,\n}: RateLeetCodeReviewLocallyFirstParams): Promise<LeetCodeActivityResult> {\n onReview(problemId, confidence, { replaceSameDayReviewEvent: true });\n onLocalReviewRecorded?.({ ...completionSource, submissionDbId }, problemId);\n const result = await markRated(submissionDbId, problemId);\n if (result.error) onError?.(result.error);\n return result;\n}\n","import { buildTodayLeetCodeItems } from \"./importTransforms\";\nimport {\n buildLeetCodeSubmissionsWithCompletions,\n isLeetCodeSubmissionCompletedToday,\n mergeTodayLeetCodeCompletion,\n type LeetCodeCompletionIdentity,\n type TodayLeetCodeCompletion,\n} from \"./todayCompletions\";\nimport type {\n LeetCodeIgnoredImport,\n LeetCodeSubmission,\n Problem,\n ReviewEvent,\n TodayLeetCodeItem,\n} from \"../types\";\n\ninterface ResolveTodayLeetCodeStateArgs {\n problems: Problem[];\n reviewEvents: ReviewEvent[];\n leetcodeSubmissions: LeetCodeSubmission[];\n ignoredImports: LeetCodeIgnoredImport[];\n todayCompletions: TodayLeetCodeCompletion[];\n today: string;\n}\n\nexport interface TodayLeetCodeResolvedState {\n fromLeetCodeItems: TodayLeetCodeItem[];\n doneTodayLeetCodeSubmissions: LeetCodeSubmission[];\n effectiveCompletions: TodayLeetCodeCompletion[];\n}\n\ntype CompletionInput = LeetCodeCompletionIdentity & {\n submissionDbId: string;\n problemId: string;\n action: TodayLeetCodeCompletion[\"action\"];\n completedAt?: string;\n};\n\nfunction getReviewedTodayTimestamp(\n problem: Pick<Problem, \"id\" | \"lastReviewed\">,\n reviewEvents: ReviewEvent[],\n today: string,\n): string | null {\n const latestEvent = reviewEvents\n .filter((event) => event.problemId === problem.id && event.date === today)\n .sort((a, b) => b.timestamp.localeCompare(a.timestamp))[0];\n if (latestEvent) return latestEvent.timestamp;\n return problem.lastReviewed === today ? `${today}T00:00:00.000Z` : null;\n}\n\nexport function buildReviewedTodayLeetCodeCompletions({\n submissions,\n problems,\n reviewEvents,\n today,\n}: {\n submissions: LeetCodeSubmission[];\n problems: Problem[];\n reviewEvents: ReviewEvent[];\n today: string;\n}): CompletionInput[] {\n const problemById = new Map(problems.map((problem) => [problem.id, problem]));\n const problemByNumber = new Map(\n problems\n .filter((problem): problem is Problem & { leetcodeNumber: number } => typeof problem.leetcodeNumber === \"number\")\n .map((problem) => [problem.leetcodeNumber, problem]),\n );\n const completions: CompletionInput[] = [];\n\n for (const submission of submissions) {\n if (submission.status === \"ignored\") continue;\n const problem = (submission.problemId ? problemById.get(submission.problemId) : undefined)\n ?? (typeof submission.leetcodeNumber === \"number\" ? problemByNumber.get(submission.leetcodeNumber) : undefined);\n if (!problem) continue;\n const completedAt = getReviewedTodayTimestamp(problem, reviewEvents, today);\n if (!completedAt) continue;\n\n completions.push({\n submissionDbId: submission.id,\n leetcodeSubmissionId: submission.leetcodeSubmissionId,\n titleSlug: submission.titleSlug,\n leetcodeNumber: submission.leetcodeNumber,\n problemId: problem.id,\n action: \"rated\",\n completedAt,\n });\n }\n\n return completions;\n}\n\nexport function mergeTodayLeetCodeCompletions(\n completions: TodayLeetCodeCompletion[],\n completionInputs: CompletionInput[],\n today: string,\n): TodayLeetCodeCompletion[] {\n let next = completions;\n for (const completion of completionInputs) {\n next = mergeTodayLeetCodeCompletion(next, completion, today);\n }\n return next;\n}\n\nexport function resolveTodayLeetCodeState({\n problems,\n reviewEvents,\n leetcodeSubmissions,\n ignoredImports,\n todayCompletions,\n today,\n}: ResolveTodayLeetCodeStateArgs): TodayLeetCodeResolvedState {\n const reviewedTodayCompletions = buildReviewedTodayLeetCodeCompletions({\n submissions: leetcodeSubmissions,\n problems,\n reviewEvents,\n today,\n });\n const effectiveCompletions = mergeTodayLeetCodeCompletions(\n todayCompletions,\n reviewedTodayCompletions,\n today,\n );\n const doneTodayLeetCodeSubmissions = buildLeetCodeSubmissionsWithCompletions(\n leetcodeSubmissions,\n effectiveCompletions,\n );\n const rawFromLeetCodeItems = buildTodayLeetCodeItems({\n submissions: leetcodeSubmissions,\n problems,\n ignoredImports,\n reviewEvents,\n today,\n });\n const fromLeetCodeItems = rawFromLeetCodeItems.filter((item) => !isLeetCodeSubmissionCompletedToday({\n submissionDbId: item.submissionDbId,\n leetcodeSubmissionId: item.leetcodeSubmissionId,\n titleSlug: item.titleSlug,\n leetcodeNumber: item.leetcodeNumber,\n problemId: item.matchedProblemId,\n }, effectiveCompletions));\n\n return {\n fromLeetCodeItems,\n doneTodayLeetCodeSubmissions,\n effectiveCompletions,\n };\n}\n","/**\n * @patternbank/core — shared domain logic for PatternBank web and mobile.\n *\n * Pure logic only: no UI, no Tailwind classes, no import-time side effects.\n * Platform concerns (storage, Supabase client, analytics) are injected via\n * adapters — see storage/adapter.ts and supabase/data.ts as they land.\n */\n\nexport * from \"./types\";\nexport * from \"./constants\";\nexport * from \"./dateHelpers\";\nexport * from \"./hooks\";\nexport * from \"./spacedRepetition\";\nexport * from \"./progressVisuals\";\nexport * from \"./progressUtils\";\nexport * from \"./preferences\";\nexport * from \"./problemTransforms\";\nexport * from \"./projectionEngine\";\nexport * from \"./sync/fullSync\";\nexport * from \"./sync/merge\";\nexport * from \"./sync/reviewEvents\";\nexport * from \"./syncTimeout\";\nexport * from \"./todayView\";\nexport * from \"./storage/adapter\";\nexport * from \"./storage/logic\";\nexport * from \"./supabase/mapping\";\nexport * from \"./supabase/data\";\nexport * from \"./leetcode/activityData\";\nexport * from \"./leetcode/importTransforms\";\nexport * from \"./leetcode/problemLists\";\nexport * from \"./leetcode/reviewActions\";\nexport * from \"./leetcode/todayCompletions\";\nexport * from \"./leetcode/todayResolver\";\nexport {\n default as LEETCODE_PROBLEMS,\n searchProblems,\n getProblemByNumber,\n buildLeetCodeUrl,\n} from \"./leetcode/problems\";\n\n/** Placeholder export proving the workspace wiring; replaced as modules extract. */\nexport const CORE_PACKAGE_NAME = \"@patternbank/core\";\n"],"mappings":"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L,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,IAAI;AAAA;AAAA,EACJ,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA;AAAA,EAGL,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,MAAM;AAAA;AAAA,EACN,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,MAAM;AAAA;AAAA;AAAA,EAGN,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,MAAM;AAAA;AAAA,EACN,MAAM;AAAA;AAAA,EACN,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA;AAAA,EAGL,KAAK;AAAA;AAAA;AAAA,EAGL,IAAI;AAAA;AAAA,EACJ,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,MAAM;AAAA;AAAA,EACN,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,MAAM;AAAA;AAAA,EACN,MAAM;AAAA;AAAA,EACN,MAAM;AAAA;AAAA;AAAA,EAGN,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,MAAM;AAAA;AAAA,EACN,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,MAAM;AAAA;AAAA;AAAA,EAGN,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,KAAK;AAAA;AAAA,EACL,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,MAAM;AAAA;AAAA;AAAA,EAGN,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAAK;AAAA;AAAA,EACL,KAA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A,MAC5D;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MACxD;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAC5D;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAC5D;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAC5D;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAC5D;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAC5D;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAC5D;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAC5D;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,IAC1D;AAAA,EACF;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,SAAS;AAAA,MACP;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAClD;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MACxD;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MACxD;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MACxD;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAC/D;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MACtE;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MACtE;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MACtE;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MACtE;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MACtE;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MACtE;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MACtE;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MACtE;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MACtE;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAC3E;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MACpF;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,MAAM;AAAA,IACxD;AAAA,EACF;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,SAAS;AAAA,MACP;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAC3D;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAC3D;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAC5D;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAC5D;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAC5D;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,IACtB;AAAA,EACF;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,SAAS;AAAA,MACP;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAC5D;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAC5D;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAC5D;AAAA,MAAI;AAAA,MAAI;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAC/D;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAC5D;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAC5D;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAC5D;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAAK;AAAA,MAC5D;AAAA,MAAK;AA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","names":["ws","timestampMs"]}